我有Grails rest api應用程序,它通過服務在內部調用外部休息API。我想在執行集成測試用例時模擬外部API調用服務。在集成測試用例中,我將請求發佈到應用程序rest api。由於我無法模擬外部API,因此如果外部API無法訪問,則會失敗。 那麼如何在集成測試用例中模擬調用外部API的服務。嘲笑Grails Spock集成測試
1
A
回答
0
在您的配置中包含外部API的URL,以便您可以嘲笑它,假設它的配置密鑰被稱爲myConfigValue
。安裝WireMock,包括測試服務器作爲JUnit規則:
@Rule
WireMockRule mockServer = new WireMockRule(WireMockConfiguration.wireMockConfig().port(9900))
訂閱模擬服務器的URL到您的測試就像在the Grails manual描述:
static doWithConfig(c) {
c.myConfigValue = "http://localhost:9900/"
}
然後使用WireMock的API來驗證外部調用和存根迴應,例如
stubFor(get(urlEqualTo("/binary-body"))
.willReturn(aResponse()
.withBody(new byte[] { 1, 2, 3, 4 })));
檢查他們的文檔,瞭解什麼是可能的。 WireMock有其他選擇,但沒有一個爲我們工作得很好。
+0
作爲WireMock的替代品,下面是使用其他庫Ratpack測試Grails 3應用程序的博客文章:http://kyleboon.org/blog/2015/07/18/stubbing-service-interactions-when-testing-microservices / –
相關問題
- 1. 嘲笑集成測試
- 2. 在Spock集成測試中嘲笑JPA存儲庫
- 3. Grails Spock嘲笑一個對象
- 4. 嘲笑集成測試的Bigquery
- 5. Spock&Spring Boot集成測試
- 6. 嘲笑單元測試類
- 7. Grails項目中集成測試的Spock驗證問題
- 8. 集成測試運行HTTP服務器實例沒有嘲笑?
- 9. Akka:嘲笑集成測試中的組件的策略
- 10. Groovy嘲笑Spock的文件工廠
- 11. Java EE與Spock的集成測試
- 12. 使用犀牛嘲笑嘲笑OUT參數,這是我測試
- 13. 嘲笑框架與功能測試,爲什麼要嘲笑?
- 14. 嘲笑單元測試中的控制器條件... grails
- 15. grails 2集成測試
- 16. 登錄grails集成測試?
- 17. Grails集成測試套件
- 18. Grails集成測試和sessionFactory.currentSession
- 19. Spock在Grails中測試POST服務
- 20. 嘲笑Request.Files測試空文件上傳
- 21. 在Wordpress單元測試中嘲笑
- 22. 嘲笑與測試數據庫?
- 23. 在Robolectric測試Activity時嘲笑SQLite-Database
- 24. 部分嘲笑類正在測試
- 25. 單元測試中嘲笑UnitOfWorkManager.Current
- 26. 下的Mockito測試嘲笑的方法
- 27. 玩笑:嘲諷console.error - 測試失敗
- 28. 在Java中嘲笑Db單元測試
- 29. TDD在Sharepoint嘲笑/測試用戶privilages
- 30. 如何嘲笑角4.3 HttpClient的測試
沒有任何代碼我們如何能夠建議問題在哪裏。 –