微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 没有SpringJUnit4ClassRunner或AbstractJUnit4SpringContextTests的Spring测试上下文设置(在Selenium测试中)

我正在使用Selenium 1.x和Spring 3.0设置JUnit 4.7测试.

我想扩展Selenium的SeleneseTestCase以获得它提供的快捷方式和约定(更重要的是,Selenium IDE生成代码似乎期待这一点).然而,我希望在执行过程中出现Spring上下文和其他好处.

因为我无法扩展Spring的AbstractJUnit4SpringContextTests,所以我尝试使用@RunWith(SpringJUnit4ClassRunner.class)来装饰我的测试用例.这成功地设置了Spring,但在Selenium执行中引起了一些奇怪的问题:例如,测试执行缓慢,浏览器窗口保持打开状态.我想它会覆盖Selenium的某些部分(只是一个猜测)…不幸的是,基础SeleneseTestCase类只允许更改一组受限制的参数,例如设置执行速度,(让我想知道,如果基类是那样的话)毕竟很好……).

据我所知,为了使Spring的所有花俏工作,我必须扩展AbstractJUnit4SpringContextTests或用@RunWith(SpringJUnit4ClassRunner.class)装饰类.但是,前者我不能,后者带来问题.

只有@ContextConfiguration会加载上下文,但至少依赖注入不起作用.那就是我停下来的地方.

如何使用Selenium(或具有相同案例的任何其他库)整齐地初始化Spring?

编辑:使文本更具可读性.

解决方法:

我对类似的问题感到恼火,足以写出a MethodRule implementation that will load a Spring context and autowire it’s host test.也许这就是你要找的东西的开始.

它允许你做这样的事情:

@Rule
public TemporarySpringContext context = new TemporarySpringContext("context.xml");

@Autowired
MyService myServiceBean;

如果您有任何改进,请告诉我.

原文地址:https://codeday.me/bug/20190710/1422331.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐