Avi*_*Avi 2 validation unit-testing arguments
我总是验证论点。我刚刚开始进行单元测试。我是否应该添加测试来验证是否因无效参数引发异常?
例如,假设整数参数应在 3..5 范围内。然后我有一个验证,如果低于 3 或高于 5,则会引发超出范围的异常,但现在我必须编写额外的两个和一点测试用例 - 两个验证是否随值引发异常低于 3 和大约 5,以及一个测试用例,用于验证当所有参数都有效时不会引发异常。
我很矛盾——“魔鬼和角度在我的肩膀上”的情况:)。“没有人因为选择 IBM 而被解雇”的逻辑是:“有人会传递无效的论点。您已经投入精力通过验证论点来验证这是否得到了处理。加倍努力,为每个论点投入一些测试用例验证你的参数验证是否有效。”
但脚踏实地的逻辑是——“这是自重。验证代码本身只是保险。在验证上添加测试用例是浪费金钱,增加了另一层保险”。
我应该怎么办?
所以,我的问题是:“我是否应该为每个公共方法的每个参数编写测试用例来验证参数验证代码确实有效? ”
是的你应该。这正是非常适合单元测试的场景:具有一些可能输入的小操作。
说你必须对每个参数执行此操作是不同的:仅对那些对其执行了某些逻辑的参数执行此操作。
理想情况下,您希望每个需求都反映在测试中:“如果字符串为空,则抛出参数异常”应该有相应的单元测试。
我同意这些测试编写起来很简单,但它们会给您很大的保证,让您的代码的基础知识完成它们应该做的事情。当然,如果您只是复制它并在需要时更改一些值,它们的编写速度也会非常快。
验证代码是保险,但它是保险的重要组成部分:如果验证不起作用,您的程序就会进入未指定的区域。确保保险有效。
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |