栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在相同的测试用例或单独的测试用例中测试默认值和设置器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在相同的测试用例或单独的测试用例中测试默认值和设置器

我更喜欢每种方法有一个测试用例。

首先,如果将它们拆分为多个方法,则比查找代码中嵌入的注释要容易得多。大多数IDE都会为您提供方法的摘要,因此,您无需说“我是否测试XYZ边缘情况?”。然后寻找注释,或寻找设置该边缘情况的代码,只需寻找名为的方法

setupContextEdgeCaseXYZ()

第二个原因是,如果您有多个案例,一个案例可能会失败,而其他案例则永远不会执行。

 testDefaultCase() testInvalidInput() testEdgeCase1() testEdgeCase2()

使用这种结构,可以更容易地确定输入检查不正确并且边缘情况2处理不当,但其他情况都可以(您可能会发现两个失败的情况相关并且可以更快地诊断问题)。

第三个原因是,您可能会不小心留下前一个测试集的值,而这些值会使后一个测试以不显眼的方式失效。一个简单的例子:

@Testpublic void testMyMethod() {  //test default  String test = Foo.bar(null);  assertEquals("foo", test);  //test case 1  Foo.bar(aValue);  //Oops forgot to set value above, this passes regardless of   //what the above call does  assertEquals("foo", test);}

通过区分大小写,可以避免上述错误,因为这会变成编译错误或警告。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497970.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号