我有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. 微软嘲笑和嘲笑SqlConnection集成测试
- 5. Grails Spock集成测试中的继承
- 6. 嘲笑集成测试的Bigquery
- 7. Spock - 嘲笑外部服务
- 8. Spock&Spring Boot集成测试
- 9. 与其他集成测试一起运行时,Spock集成测试失败 - 使用集成隔离成功:spock
- 10. Spock集成测试交互不计数
- 11. 测试和例外,嘲笑
- 12. 嘲笑单元测试类
- 13. 嘲笑UIInput类的测试
- 14. Grails项目中集成测试的Spock验证问题
- 15. 如何在Grails上运行Spock集成测试
- 16. Akka:嘲笑集成测试中的组件的策略
- 17. 集成测试运行HTTP服务器实例没有嘲笑?
- 18. Groovy嘲笑Spock的文件工厂
- 19. Java EE与Spock的集成测试
- 20. 使用犀牛嘲笑嘲笑OUT参数,这是我测试
- 21. 测试嘲笑的对象犀牛嘲笑
- 22. 嘲笑框架与功能测试,为什么要嘲笑?
- 23. 如何嘲笑Grails的标签库单元测试服务
- 24. 嘲笑单元测试中的控制器条件... grails
- 25. 嘲笑还是不嘲笑?
- 26. 集成测试/单元测试:做了太多集成测试?
- 27. grails 2集成测试
- 28. Grails集成测试套件
- 29. 登录grails集成测试?
- 30. Grails集成测试和sessionFactory.currentSession
没有任何代码我们如何能够建议问题在哪里。 –