控制器Java类的黄瓜测试

时间:2018-09-30 23:37:14

标签: java acceptance-testing cucumber-junit

我目前正在从事Web项目。我实现了一个控制器类。对于控制器类,对于类调用AbcController,我具有@GetMapping(‘/ api / abc’)批注。基本上,它要做的是返回包含key =“ myKey”,value =“ myValue”的对象的映射。我需要为该课程写一个黄瓜测试。我看到有人将httpEntity用于类似的问题。但是,我对此仍然感到困惑。由于我现在不在家,我稍后将上传我的Java代码和要素类。我认为我可以测试2部分。 1:响应代码,应为200。2:使用Key =“ myKey”创建一个映射对象,并从运行控制器类中获取值,最后比较两个值是否相等。有人可以帮我吗?我不太了解httpEntity的工作原理。谢谢。

这是我的步骤代码,任何人都可以告诉我是否在正确的轨道上,以及httpEntity或ResponseEntity的哪一部分包含我需要的值(应从api调用返回)。谢谢!

public class myControllerStepDef(){
    private ResponseEntity<String[]> myResponse;
    RequestCall back requesCallback;
    HttpEntity<String> entity;
    HttpHeaders headers;
    UriComponentsBuilder builder;

@When("^the my_service gets api/abc request is sent$")
public void the_serice_gets_abc_request(){
    builder = UriComponentsBuilder.fromUriString("/api/abc");
    headers = new HttpHeaders();
    entity = new HttpEntity<String>(null, headers);
    myResponse = restTemplate.exchange(builder.toUriString(), 
                 HttpMethod.GET, entity, String[].class);
 }

 @Then("^http response for my_service for abc with status code 200$")
 public void http_response_for_my_service_for_abc(int arg1){
     Assert.assertEquals(arg1, myResponse.getStatusCodeValue());
 }

 @Then("^verify the value of abc $")
 public void verify_the_value_of_abc(String result){
      //
 }

}

0 个答案:

没有答案