我目前正在尝试将Spring集成到我的Cucumber测试中。我有一个自定义的SpringFactory,如中所述:
http://www.zsoltfabok.com/blog/2012/01/cucumber-jvm-di/
但是代码没有被调用。用我的测试“连接”工厂的最好方法是什么?
从已删除答案的评论中澄清:主要问题是我的测试将Cucumber作为主要跑步者,即@RunWith(Cucumber.class),所以不能在这里使用SpringJUnit4ClassRunner。上面的链接中描述了这一点,但没有描述如何读取cucumber.xml。我添加了一个新的SpringFactory,但它没有读取XML文件。
更新:通过添加以下内容,实际上已经走得更远:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>1.0.0.RC15</version>
</dependency> 然而,我有@Autowired变量,因为测试是由Cucumber运行的,所以没有注入这些变量。
其他人也有这个问题吗?
发布于 2012-02-24 07:20:18
发布于 2014-04-25 18:38:02
更新: cuke4duke项目现在已经过时了,已经被Cucumber-JVM所取代。
我也遇到了同样的问题,根本原因是cucumber- cucumber.xml -1.1.5.jar中的SpringFactory没有读取弹簧。Spring DI无声地失败了,导致了NPE。从submission 448开始,Cucumber SpringFactory不再加载cucumber.xml,您需要在所有步骤定义类中包含@ContextConfiguration("classpath*:cucumber.xml")。
发布于 2012-10-04 20:41:26
我刚看过你的问题。最有可能的情况是缺少cucumber-spring模块依赖项。我已经更新了存储库,现在所有的依赖项都应该没问题了(我使用的是ivy)。
https://stackoverflow.com/questions/9411591
复制相似问题