我知道这是主观的,但我想遵循最常见的做法.您是否通常为每个类方法创建一个测试方法并用多个断言填充它,或者您是否为每个断言创建一个测试方法?
例如,如果我正在测试银行帐户的withdraw方法,并且我想确保如果用户试图透支帐户或撤回负数,则抛出异常,我应该创建testOverdaw和testNegativeWithdrawal,或者我只是将这两个断言组合在一起一个叫做的方法testWithdraw?
Mar*_*ham 10
可以这样考虑:每个测试都应该独立运行并运用一组相对独立的功能.如果你想断言关于你创建的某个方法的三个方面是否正确,那么你应该创建一个包含这三个方面的测试.
因此,我必须强烈反对已经回答的其他人.任意限制自己每次测试一个断言对你没有任何作用,除非让你的测试变得笨拙乏味.最终它可能会让你完全放弃测试 - 这肯定是一种耻辱:对你的项目和职业生涯不利.
现在,这并不能意味着你必须证上写大,笨重或多用途测试例程.实际上,我认为我从来没有写过超过20行左右.
至于知道哪个断言在一个函数中有多个时失败,你会注意到当断言失败时,nUnit和MSTest都会给你一个描述和一个链接,这会把你带到违规行(nUnit需要集成TestDriven.net等工具.这使得找出失败点变得微不足道.两者都将在函数中的第一次失败时停止,并且两者都使您能够进行调试演练.
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |