[英]AutoWiring steps with Spring Cucumber Serenity
我很痛苦地无法自动接线一些步骤。 为了说明这一点,我在github上做了一个小样本项目
https://github.com/lpicquet/serenity-cucumber-spring
我正在尝试自动连接步骤,以便我可以在它们之间共享数据,但是测试当前失败。 有人可以帮忙吗?
问题是您使用的是其他亚军。 通常人们使用SpringRunner.class
来处理创建测试上下文等的能力。
构造一个新的SpringRunner并初始化一个TestContextManager,以向标准JUnit 4测试提供Spring测试功能。
要将其他流道与spring功能一起使用,可以结合使用ClassRule
和Rule
@ClassRule
public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
@Rule
public final SpringMethodRule springMethodRule = new SpringMethodRule();
SpringClassRule是一个自定义JUnit TestRule,它通过TestContextManager以及相关的支持类和注释在标准JUnit测试中支持Spring TestContext Framework的类级别功能。
与SpringJUnit4ClassRunner相比,Spring的基于规则的JUnit支持具有以下优势:它独立于任何Runner,因此可以与现有的替代运行器(如JUnit的Parameterized)或第三方运行器(如MockitoJUnitRunner)组合。
为了实现与SpringJUnit4ClassRunner相同的功能,必须将SpringClassRule与SpringMethodRule结合使用,因为SpringClassRule仅支持SpringJUnit4ClassRunner的类级功能。
没有这些,就无法在依赖类等中自动装配。
我已通过测试为您的项目添加了PR。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.