我正在使用Cucumber java构建一个带有picocontainer DI的放心测试固件。我需要使用 DI 共享请求和响应,但 REST 放心提供了请求规范和响应,它们是接口和接口无法共享。什么是 REST 保证非接口类,它将允许我构建请求和响应、发出 HTTP 请求以及读取其他类中的请求和响应数据。基本上我需要一种方法来创建放心的请求和响应 java 对象。
cucumber-jvm
中的依赖关系注入上下文跨越方案的执行。因此,它只能包含可以在没有任何场景信息的情况下创建的对象。
因此,与其尝试共享RequestSpecification
和Response
,不如共享具有对这些对象的引用的帮助程序类。例如(省略构造函数):
class MyStepDefs {
SomeService service;
@Given("a request")
void given_a_request(){
service.createRequest();
}
}
class OtherStepDefs {
SomeService service;
@When("a thing")
void a_thing(){
service.doThing();
}
}
class YetOtherStepDefs {
SomeService service;
@Then("it happens")
void a_thing(){
service.asserItHappend();
}
}