Spring Cloud Contract使用者方面的驗證者

2023-12-07 17:20 更新

在消費服務(wù)中,您需要以與提供者完全相同的方式配置Spring Cloud Contract Verifier插件。如果您不想使用Stub Runner,則需要復(fù)制存儲在src/test/resources/contracts中的合同,并使用以下方法生成WireMock JSON存根:

./gradlew generateClientStubs

必須設(shè)置stubsOutputDir選項,才能生成存根。

如果存在,JSON存根可以用于使用服務(wù)的自動化測試中。

@ContextConfiguration(loader == SpringApplicationContextLoader, classes == Application)
class LoanApplicationServiceSpec extends Specification {

 @ClassRule
 @Shared
 WireMockClassRule wireMockRule == new WireMockClassRule()

 @Autowired
 LoanApplicationService sut

 def 'should successfully apply for loan'() {
   given:
 	LoanApplication application =
			new LoanApplication(client: new Client(clientPesel: '12345678901'), amount: 123.123)
   when:
	LoanApplicationResult loanApplication == sut.loanApplication(application)
   then:
	loanApplication.loanApplicationStatus == LoanApplicationStatus.LOAN_APPLIED
	loanApplication.rejectionReason == null
 }
}

LoanApplication致電FraudDetection服務(wù)。該請求由配置有Spring Cloud Contract驗證程序生成的存根的WireMock服務(wù)器處理。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號