0

我正在使用 cucumber java 使用 picocontainer DI 构建一个放心的测试固件。我需要使用 DI 共享请求和响应,但是 REST 保证提供了 RequestSpecification 和 Response,它们是接口,并且接口不能共享。什么是 REST 保证的非接口类,它允许我构建请求和响应、发出 HTTP 请求并读取其他类中的请求和响应数据。基本上我需要一种方法来创建放心的请求和响应 java 对象。

4

1 回答 1

0

依赖注入上下文cucumber-jvm跨越场景的执行。所以它只能包含可以在没有来自场景的任何信息的情况下创建的对象。

因此,与其尝试共享RequestSpecificationResponse您可以共享一个具有对这些对象的引用的辅助类。例如(省略构造函数):

 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();
     }
  }
于 2019-01-25T22:58:45.357 回答