繁体   English   中英

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

[英]Spring test context setup without SpringJUnit4ClassRunner or AbstractJUnit4SpringContextTests (in Selenium testing)

我正在使用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?

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

我被一个类似的问题所困扰,足以编写一个MethodRule实现,它将加载一个Spring上下文并自动装配它的主机测试 也许这是你正在寻找的开始。

它允许你做这样的事情:

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

@Autowired
MyService myServiceBean;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM