SpringCloud Stub Runner使用服務(wù)發(fā)現(xiàn)啟動(dòng)

2023-12-11 17:20 更新

使用Stub Runner引導(dǎo)程序的一種可能性是將其用作“煙霧測試”的存根的提要。這是什么意思?假設(shè)您不想將50個(gè)微服務(wù)部署到測試環(huán)境中以檢查您的應(yīng)用程序是否運(yùn)行正常。在構(gòu)建過程中,您已經(jīng)執(zhí)行了一組測試,但是您還想確保應(yīng)用程序的包裝是正確的。您可以做的是將應(yīng)用程序部署到環(huán)境中,啟動(dòng)該應(yīng)用程序并在其上運(yùn)行一些測試,以查看其是否正常運(yùn)行。我們可以稱這些測試為冒煙測試,因?yàn)樗鼈兊南敕ㄊ莾H檢查少數(shù)幾個(gè)測試場景。

這種方法的問題在于,如果您正在執(zhí)行微服務(wù),則很可能正在使用服務(wù)發(fā)現(xiàn)工具。Stub Runner引導(dǎo)程序允許您通過啟動(dòng)所需的存根并將其注冊到服務(wù)發(fā)現(xiàn)工具中來解決此問題。讓我們看一下使用Eureka進(jìn)行這種設(shè)置的示例。假設(shè)Eureka已經(jīng)在運(yùn)行。

@SpringBootApplication
@EnableStubRunnerServer
@EnableEurekaClient
@AutoConfigureStubRunner
public class StubRunnerBootEurekaExample {

	public static void main(String[] args) {
		SpringApplication.run(StubRunnerBootEurekaExample.class, args);
	}

}

如您所見,我們想啟動(dòng)Stub Runner引導(dǎo)服務(wù)器@EnableStubRunnerServer,啟用Eureka客戶端@EnableEurekaClient,并且我們想打開樁頭運(yùn)行程序功能@AutoConfigureStubRunner。

現(xiàn)在假設(shè)我們要啟動(dòng)此應(yīng)用程序,以便存根自動(dòng)注冊。我們可以通過運(yùn)行應(yīng)用程序java -jar ${SYSTEM_PROPS} stub-runner-boot-eureka-example.jar來做到這一點(diǎn),其中${SYSTEM_PROPS}將包含以下屬性列表

* -Dstubrunner.repositoryRoot=https://repo.spring.io/snapshot (1)
* -Dstubrunner.cloud.stubbed.discovery.enabled=false (2)
* -Dstubrunner.ids=org.springframework.cloud.contract.verifier.stubs:loanIssuance,org.
* springframework.cloud.contract.verifier.stubs:fraudDetectionServer,org.springframework.
* cloud.contract.verifier.stubs:bootService (3)
* -Dstubrunner.idsToServiceIds.fraudDetectionServer=
* someNameThatShouldMapFraudDetectionServer (4)
*
* (1) - we tell Stub Runner where all the stubs reside (2) - we don't want the default
* behaviour where the discovery service is stubbed. That's why the stub registration will
* be picked (3) - we provide a list of stubs to download (4) - we provide a list of

這樣,您部署的應(yīng)用程序可以通過服務(wù)發(fā)現(xiàn)將請求發(fā)送到啟動(dòng)的WireMock服務(wù)器。默認(rèn)情況下,極有可能在application.yml中設(shè)置了1-3點(diǎn),因?yàn)樗鼈儾惶赡芨淖儭?/font>這樣,每次啟動(dòng)Stub Runner引導(dǎo)時(shí),您只能提供要下載的存根列表。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號