WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验

环境

MacBook pro
Intellij IDEA 2019.2
java 8

前言

我负责的一个项目呢,契约测试曾经调通过一次,
但是最近CI报了mockTest任务执行异常。。。

自此,开始了我的两天磕磕碰碰的旅程。
可以说我对WireMock是一点知识储备都没有,这两天就是参照公司的其他项目各种对比,然后不断调试,现在想想真是浪费了很多时间,因为当知道原因后,真的菜啊~

错误

当时我一直卡在如下的错误中:
WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验_第1张图片

上面的错误提示:
左边提示是最接近mock要求的接口。(最符合请求要求的接口)
右边执行的接口测试。

进一步的错误信息是:
WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验_第2张图片
也就是报了一个请求404错误。

我当时一直很纳闷,为什么会找不到请求;一开始我以为是上图中左边那个接口,所以我还把那个接口的契约测试删除了。

WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验_第3张图片
上图的情况就是:

contract包下的测试任务执行正常;
mock包下的测试任务执行异常;

我执行测试任务都是单个执行的。

说明下:

mock test 只是把 contract test 拷贝过去,执行stub
也就是 stub 没有这个接口

虽然知道了stub里面没有这个接口,但是怎么更新stub呢?
问了很多同事,都没有给出有效的解决办法;

公司里有大佬,但是人家很久没弄契约测试或Mock测试了。
他也忘了怎么去更新。

解决办法

思路:stub没有这个接口

关键怎么更新stub呢?

WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验_第4张图片

更新stub
执行mockTest的任务,可以在Intellij IDEA中双击执行。
也可以在命令行中执行:

./gradlew :api:mockTest

之后执行结果:
WireMock与契约测试学习笔记:磕磕绊绊mock测试初体验_第5张图片

总结

公司的mock测试,是将契约测试进行拷贝后在到mock环境执行的。

自己对mock测试很多的不懂呀~

你可能感兴趣的:(Java)