我正在编写一个返回 JSON 的 Web 服务,我想知道,是否值得对响应的值进行单元测试,或者我更有可能通过这样做来测试执行编组的框架?
现在有这样写的测试:
@Test
public void getPersonWithAnIdNameShouldBeBob() {
expect().body("name", equalTo("bob")).when().get("/getperson/1");
}
我应该更多地关注业务逻辑、方法调用等吗?
我正在编写一个返回 JSON 的 Web 服务,我想知道,是否值得对响应的值进行单元测试,或者我更有可能通过这样做来测试执行编组的框架?
现在有这样写的测试:
@Test
public void getPersonWithAnIdNameShouldBeBob() {
expect().body("name", equalTo("bob")).when().get("/getperson/1");
}
我应该更多地关注业务逻辑、方法调用等吗?
这取决于,但是:
到目前为止,这看起来像是一个集成测试,而不是一个单元测试。
因此,这是一个有效的测试:您正在使用一些已知数据测试一些路由。
单元测试将独立测试服务,绕过 Web 层,并寻找验证或数据库连接错误处理、未找到处理等内容。
这些测试在哪里运行也可能取决于框架,并且在某些情况下,如果它们由框架处理,可能无法提供最佳的投资回报率。
测试最脆弱、需要最多文档、需要练习等的东西。
我也认为这取决于。如果您有一个公共 JSON API,我认为验证它的外观和行为是否相应非常重要。在几个没有 REST 端点测试的项目中,我发现 JSON 没有以预期的方式呈现。