Java 测试json响应的值是否值得

Java 测试json响应的值是否值得,java,unit-testing,rest,Java,Unit Testing,Rest,我正在编写一个返回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层,并查找诸如验证或DB连接错误处理、未找到处理等内容

这些测试的运行位置也可能取决于框架,在某些情况下,如果由框架处理,可能无法提供最佳的ROI

测试最脆弱、最需要文档、最需要练习的内容等。

视情况而定,但:

到目前为止,这看起来像是一个集成测试,而不是单元测试

因此,这是一个有效的测试:您正在使用一些已知数据测试一些路由

单元测试将孤立地测试服务,绕过web层,并查找诸如验证或DB连接错误处理、未找到处理等内容

这些测试的运行位置也可能取决于框架,在某些情况下,如果由框架处理,可能无法提供最佳的ROI


测试最脆弱的东西,需要最多的文档,需要练习的东西,等等。

我也认为这要视情况而定。如果您有一个公共JSON API,我认为验证它的外观和行为是否符合要求非常重要。在几个没有进行REST端点测试的项目中,我看到JSON没有按照预期的方式呈现。

我也认为这取决于。如果您有一个公共JSON API,我认为验证它的外观和行为是否符合要求非常重要。在几个没有进行REST端点测试的项目中,我发现JSON没有以预期的方式呈现。

Complete agree+1作为答案。这更像是一个集成测试,但我不会写,因为它基本上是在测试基础设施。答案请填写agree+1。这更像是一个集成测试,但我不会写,因为它基本上是在测试基础设施。