文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
那个测试有什么地方不对
在本章的开头,我们声称在这个测试中至少有8个地方不对:
现在我们已经学到了一些编写更好测试的技巧,让我们来找出它们:
1.这个测试很长,并且充满了不重要的细节,你可以用一句话来描述这个测试所做的事情,因此这条测试的语句不应该太长。
2.增加新测试不会很容易。你会倾向于拷贝/粘贴/修改,这样做会让代码更长而且充满重复。
3.测试失败的消息不是很有帮助。如果测试失败的话,它只是说Assertion failed:docs.size()==3,这并没有为进一步调试提供足够的信息。
4.这个测试想要同时测试完所有东西。它想要既测试对负数的过滤又测试排序的功能。把它们拆分成多个测试会更可读。
5.这个测试的输入不是很简单。尤其是,样本分数-99998.7很“嚣张”,尽管它是什么值并不重要但是它会引起你的注意。一个简单的负数值就足够了。
6.测试的输入没有彻底地执行代码。例如,它没有测试到当分数为0时的情况。(这种文档会过滤掉吗?)
7.它没有测试其他极端的输入,例如空的输入向量、很长的向量,或者有重复分数的情况。
8.测试的名字Test1()没有意义——名字应当能描述被测试的函数或情形。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论