有什么方法可以在我的黄瓜步骤类中注入TestContext吗?
我正在使用柑橘,春天和黄瓜以及最新版本。但是,当我使用下面的注入时,我总是会得到TestContext的空指针异常。对于TestDesigner和TestRunner,我没有问题。
@CitrusResource private TestContext tContext;
在我看到的日志中
Failed to get proper TestContext from Cucumber Spring application context: No qualifying bean of type 'com.consol.citrus.context.TestContext' available
答案 0 :(得分:0)
您显然正在使用设置
cucumber.api.java.ObjectFactory=cucumber.runtime.java.spring.CitrusSpringObjectFactory
在cucumber.properties
中。
这样做时,您需要在步骤类中手动添加带有@ContextConfiguration
批注的Citrus Spring配置。
@ContextConfiguration(classes = CitrusSpringConfig.class)
public class MySteps {
@CitrusResource
private TestDesigner designer;
[...]
}
如果您使用默认的cucumber.xml
Spring XML应用程序上下文,则需要将Citrus Spring配置作为Bean添加到该文件:
<!-- JavaConfig bean post-processor -->
<bean class="org.springframework.context.annotation.ConfigurationClassPostProcessor"/>
<!-- Citrus Java config -->
<bean id="citrusSpringConfig" class="com.consol.citrus.config.CitrusSpringConfig"/>