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;
如果您有任何改进,请告诉我.
标签:java,junit,spring,selenium,context-xml 来源: https://codeday.me/bug/20190710/1422331.html