我总是验证论点。我刚开始做单元测试。是否应该添加验证无效参数引发异常的测试?
例如,假设整数参数应该在3..5范围内。然后,我有一个验证,如果异常低于3或大于5,则抛出超出范围的异常,但现在我必须编写额外的两位测试用例--两个验证异常抛出值小于3和大约为5的测试用例,还有一个测试用例验证当所有参数有效时都不会抛出异常。
我被撕裂-“魔鬼和角度在我的肩膀”的情况:)。“没有人因为选择I.B.M而被解雇”逻辑上说:“有人会通过无效的论点。你已经投入了努力,通过验证参数来验证这一点。多花点功夫,为每个参数投资几个测试用例,以验证你的论点验证是否有效。”
但脚踏实地的逻辑是:“这是一个沉重的负担。验证代码本身只是一种保险。在验证中添加测试用例是浪费金钱,增加了另一层保险”。
我该怎么办?
因此,我的问题是:“,对于每个公共方法的每个参数,我是否应该编写测试用例来验证参数验证代码是否确实有效?。”
发布于 2014-07-29 22:30:51
是的,你应该这样做。这正是一种非常适合于单元测试的场景:一个包含少量可能输入的小操作。
但是,对于每个参数来说,必须这样做是不同的:只对那些对它们执行了一些逻辑的人这样做。
理想情况下,您希望在测试中反映每个需求:“如果字符串为null,抛出argumentexception”应该有相应的单元测试。
我同意,这些测试编写起来很简单,但它们会给您很多安慰,让您确信您的代码的基本知识,做他们应该做的事情。他们也会非常快地写,当然,如果你只是复制它,并在需要的地方改变一些值。
验证代码是保险,但它是保险的一个重要部分:如果验证不起作用,您的程序将进入未指定的领域。确保保险有效。
https://stackoverflow.com/questions/25029987
复制