環境
MacBook pro
Intellij IDEA 2019.2
java 8
前言
我負責的一個項目呢,契約測試曾經調通過一次,
但是最近CI
報了mockTest
任務執行異常。。。
自此,開始了我的兩天磕磕碰碰的旅程。
可以說我對WireMock
是一點知識儲備都沒有,這兩天就是參照公司的其他項目各種對比,然後不斷調試,現在想想真是浪費了很多時間,因爲當知道原因後,真的菜啊~
錯誤
當時我一直卡在如下的錯誤中:
上面的錯誤提示:
左邊提示是最接近mock
要求的接口。(最符合請求要求的接口)
右邊執行的接口測試。
進一步的錯誤信息是:
也就是報了一個請求404錯誤。
我當時一直很納悶,爲什麼會找不到請求;一開始我以爲是上圖中左邊那個接口,所以我還把那個接口的契約測試刪除了。
上圖的情況就是:
contract
包下的測試任務執行正常;
mock
包下的測試任務執行異常;
我執行測試任務都是單個執行的。
說明下:
mock test 只是把 contract test 拷貝過去,執行stub
也就是 stub 沒有這個接口
雖然知道了stub
裏面沒有這個接口,但是怎麼更新stub
呢?
問了很多同事,都沒有給出有效的解決辦法;
公司裏有大佬,但是人家很久沒弄契約測試或Mock
測試了。
他也忘了怎麼去更新。
解決辦法
思路:stub沒有這個接口
關鍵怎麼更新stub
呢?
更新stub
:
執行mockTest
的任務,可以在Intellij IDEA
中雙擊執行。
也可以在命令行中執行:
./gradlew :api:mockTest
之後執行結果:
總結
公司的mock
測試,是將契約測試進行拷貝後在到mock
環境執行的。
自己對mock
測試很多的不懂呀~