你们用来编写更好的单元测试的一些技巧或工具或政策(除了有单元测试标准)有哪些?更好的是,我的意思是"在尽可能少的测试中覆盖尽可能多的代码".我说的是你用过的东西,看到你的单元测试突飞猛进.
作为一个例子,我前几天尝试了Pex,我认为这真的很棒.我错过了一些测试,Pex很容易地向我展示了哪里.不幸的是,它有一个相当严格的许可证.
那么你们正在使用/做什么的其他一些很棒的东西呢?
编辑:很多好的答案.我将标记为正确的答案,我目前没有练习,但肯定会尝试,希望能带来最好的收益.谢谢大家.
每种方法编写许多测试.
尽可能测试最小的东西.然后测试下一个最小的东西.
测试所有合理的输入和输出范围.IOW:如果你的方法返回boolean,请确保测试false和true返回.对于int?-1,0,1,n,n + 1(通过数学归纳证明).不要忘记检查所有异常(假设Java).4A.首先编写一个抽象接口.4B.先写下你的测试.4C.最后写下你的实现.
使用依赖注入.(对于Java:Guice - 据说更好,Spring - 可能已经够好了)
使用像mockito这样的好工具包模拟你的"单位"合作者(再次假设Java).
谷歌很多.
继续敲打它.(花了我2年时间 - 没有太多帮助,但谷歌 - 开始"得到它".)
阅读一本关于这个主题的好书.
冲洗,重复......