我应该有多余的单元测试吗

时间:2019-01-13 07:37:24

标签: unit-testing testing

例如,服务器将响应

{
   name: "mike",
   age: "12",
   sex: "male"
}

在我的代码中,我仅使用名称,因此我的代码将是字符串name = json [“ name”];

对于我的单元测试,我的单元测试用例应该是上面的实际json结果还是仅仅是

{
   name: "mike",
}

因为我只解析name字段?

2 个答案:

答案 0 :(得分:0)

在单元测试用例中,实际结果将是 {    名称:“迈克”, }

答案 1 :(得分:0)

编写单元测试时,您应该考虑每个测试的目的是什么。

在您的示例中,一项测试的目标可能是测试代码是否从服务器结果中正确提取了名称。但是,由于键和值的处理是语言的一部分,因此您不必测试它是否适用于键和值的混合:表达式json["name"]为您带来了真正的魔力。因此,您可以使“伪”服务器响应保持非常简单-不必像实际的服务器响应一样。也就是说,仅使用{ name: "mike", }就可以了。

可能会有更多的测试用例,例如,测试您的代码是否正确处理了错误情况,例如,如果服务器响应的响应中没有名称-或具有两个或多个名称-或看起来完全是乱码。同样,您将必须定义一些“伪”服务器结果。

但是,在某些时候,您将不得不在实际服务器上测试代码-但是,您离开了单元测试的领域,进入了集成测试。