W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
如果合同之間的基類不同,則可以告訴Spring Cloud Contract插件自動生成的測試應擴展哪個類。您有兩種選擇:
packageWithBaseClasses
baseClassMappings
提供顯式映射按照慣例
約定是這樣的:如果您在src/test/resources/contract/foo/bar/baz/
下?lián)碛泻贤?,并且?code class="literal" i="3746">packageWithBaseClasses屬性的值設置為com.example.base
,則Spring Cloud Contract驗證程序會假設存在一個BarBazBase
com.example.base
包下的類。換句話說,系統(tǒng)將獲取包的最后兩個部分(如果存在),并形成一個后綴為Base
的類。此規(guī)則優(yōu)先于baseClassForTests。這是一個在contracts
閉包中如何工作的示例:
packageWithBaseClasses = 'com.example.base'
通過映射
您可以將合同包的正則表達式手動映射到匹配合同的基類的完全限定名稱。您必須提供一個名為baseClassMappings
的列表,該列表由baseClassMapping
對象組成,這些對象采用從contractPackageRegex
到baseClassFQN
的映射。考慮以下示例:
baseClassForTests = "com.example.FooBase" baseClassMappings { baseClassMapping('.*/com/.*', 'com.example.ComBase') baseClassMapping('.*/bar/.*': 'com.example.BarBase') }
假設您的合同是-src/test/resources/contract/com/
-src/test/resources/contract/foo/
通過提供baseClassForTests
,我們可以在沒有成功映射的情況下進行回退。(您也可以提供packageWithBaseClasses
作為后備。)這樣,從src/test/resources/contract/com/
合約生成的測試擴展了com.example.ComBase
,而其余測試擴展了com.example.FooBase
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: