您的位置:首页 > 其它

如何写出更好的单元测试

2014-12-09 09:34 260 查看
本文翻译自互联网。作者根据他多年的工作经验,总结了一些在使用单元测试时需要注意的事项。


1、不要写能通过的单元测试

单元测试最终是要通过的,但是在一开始写测试时它应该是无法通过的。它们也确实应该失败。你可以在分分钟内写出一系列能通过的测试用例,但你应该知道,那是自欺欺人。


2、一个测试只做一件事情

一个测试用例应该只做一件事情。如果不是这样,你可能违反了单一职责原则。


3、保证单元测试的可读性

你需要确保你的测试是易读的,就像你写的其他代码一样。


4、良好的命名规范

再次强调,单元测试应该和其他代码一样,确保它的可读性。


5、断言和行为分开

你的断言应该看起来像个结果,而不是行为逻辑。


6、使用精确的输入数据

不要使用动态的数据作为输入数据,像
date()
这样的输入可能会导致变化。


7、分组测试所在的位置


8、好的测试是独立存在的

你的测试不能依赖于其他测试、环境配置等。否则,将会带来麻烦和失败。


9、不要包含私有方法


10、不要连接数据库资源

你不能确保数据库服务一直都是相同的、正确的。


11、每一个测试中不要超过一个Mock

这是消除失败和不确定性的需要。


12、单元测试不是集成测试

如果你想测试许多的结果,不要通过单元测试实现。


13、保持你的测试是幂等的

无论运行多少次,测试的输入和输出都应该是不变的。


14、每一次只测试一个类,一个方法


15、在测试中包含异常情况

你可能会遇到异常情况,不要忽视它们。


16、不要用你的测试去测试第三方库

需要的时候使用MOCK,但是千万别去测试它们。


17、限制数值的大小

如果你测试的数值是有范围的,那么测试它们的边界值。


18、不要让你的测试需要配置或自定义的设置项

任何人都应该可以自由地运行你的测试,不要总是说:在我机器上它是正常的。

希望这些对你学习单元测试有所帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: