美文网首页
契约测试场景

契约测试场景

作者: 梦想又照进现实 | 来源:发表于2019-11-19 11:10 被阅读0次

契约测试主要思想是把接口之间的调用关系解耦, 即一个应用在本地模拟对另一个应用的接口的调用,把对接口的测试转化为本地的单元测试。

场景:Consumer服务需要调用Provider服务的人员信息查询接口,Consumer端在进行测试的时候就可以采用契约测试

1、Provider端定义契约文件,测试基类,运行插件生成相应的stubs.jar

Contract.make {
    description "should return one user success"
    request {
        method 'GET'
        urlPath('/user/1')
    }
    response {
        status 200
        body('''{
             "id": "1",
             "name": "Jack",
             "age": 22,
             "phone": "6659852"
        }''')
        headers {
            header('Content-Type', 'application/json;charset=UTF-8')
        }
    }
}
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@AutoConfigureMessageVerifier
@DirtiesContext
@AutoConfigureMockMvc
public class ProviderApplicationTests {

   @Autowired
   private WebApplicationContext context;

   @Before
   public void setUp() {
      RestAssuredMockMvc.webAppContextSetup(context);
   }
}

2、Consumer端获取stubs.jar,在Provider端不启动的情况下,进行接口调用。

public class UserValidateController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/query")
    public ResponseDto queryUserInfo(@RequestParam String id){
        User user = restTemplate.getForObject("http://localhost:8080/user/"+id,User.class);
        if(user==null){
            return new ResponseDto(false,"人员信息不存在","");
        }else{
            System.out.println("调用Provider服务getOneUser接口返回的数据: "+ user.toString());
            return new ResponseDto(true,"查询成功",user);
        }
    }
} 

具体流程参考:契约测试指引

相关文章

  • 接口自动化中的jsonSchema及契约测试

    目录 场景介绍:接口自动化及契约测试 jsonschema介绍 契约测试实现步骤及Demo jsonschema编...

  • 契约测试场景

    契约测试主要思想是把接口之间的调用关系解耦, 即一个应用在本地模拟对另一个应用的接口的调用,把对接口的测试转化为本...

  • 干货时间:聊聊DevOps下的技术系列之契约测试

    摘要:本期和大家简单聊聊在服务交互场景下使用服务契约的重要性,以及契约管理的必要性,最后简单介绍了下契约测试。 1...

  • Spring Cloud Contract 契约测试

    Spring Cloud Contract是契约测试的一个实现,最早看到契约测试还是在《微服务设计》书中,不过那时...

  • 契约测试

    背景 在当前微服务和前后端分离大行其道的行业背景下,越来越多的团队采用了前后端分离和微服务的架构风格。该服务架构下...

  • 契约测试

    业界认为应该让契约测试来替代集成测试。认为你写的2-5%的集成测试和单元测试有重复,或者和其它地方的集成测试存在重...

  • 测试矩阵

    迷阵 “单元测试,集成测试,端到端测试,安全测试,性能测试,压力测试,契约测试,冒烟测试,验收测试,API测试,U...

  • 测试矩阵

    迷阵 “单元测试,集成测试,端到端测试,安全测试,性能测试,压力测试,契约测试,冒烟测试,验收测试,API测试,U...

  • 契约测试初探

    最近测试碰到一个困难:A系统要调用我们系统的一个服务进行询价。我们返回的结果很依赖系统当前的多套互相关联的基础数据...

  • 接口契约测试

    接口断言引入契约校验目录: 一.背景二.校验原则三.快速使用1、python类契约使用2、json契约使用3、py...

网友评论

      本文标题:契约测试场景

      本文链接:https://www.haomeiwen.com/subject/rurwictx.html