【发布时间】:2016-02-02 06:43:16
【问题描述】:
我有一个用 Grails 编写的 RESTFul 微服务。这个微服务有它自己的数据库。它还依赖于另外两个微服务。
服务的典型工作流程是:
- 接收来自客户端的 GET 请求,例如浏览器
- 调用另一个微服务 throw http 来获取一些信息
- 查询自己的数据库以获取一些数据
- 向客户端发送响应
我想为此服务编写自动化测试。每当我运行测试时,它都会执行以下操作:
- 模拟外部微服务
- 创建一个数据库并用测试数据填充它
- 运行应用程序并将其配置为使用模拟服务和数据库
- 通过发送 http 请求和匹配响应来运行测试用例
这是我的问题:
- 这是什么类型的测试?
- 有哪些好的框架或工具可以编写此类测试?
我对测试知之甚少,所以我可能会问一些愚蠢的问题。
【问题讨论】:
-
似乎是单元测试和集成测试的混合体。在单元测试中,被测试方法之外的所有东西都应该被控制/模拟(微服务和数据库)。至于工具/框架,我倾向于结合使用 Spock 规范和 Groovy 工具(模拟和元类)
-
作为起点,您是否检查过有关文档测试的章节? grails.github.io/grails-doc/latest/guide/testing.html
标签: unit-testing grails testing automated-tests