gpt4 book ai didi

validation - 单元测试 - 我应该测试参数验证代码吗

转载 作者:行者123 更新时间:2023-12-03 09:24:09 26 4
gpt4 key购买 nike

我总是验证论点。我刚刚开始进行单元测试。我是否应该添加测试来验证是否因无效参数引发异常?

例如,假设整数参数应在 3..5 范围内。然后我有一个验证,如果低于 3 或高于 5,则会引发超出范围的异常,但现在我必须编写额外的两个和一点测试用例 - 两个验证是否随值引发异常低于 3 和大约 5,以及一个测试用例,验证当所有参数都有效时不会引发异常。

我很矛盾 - “魔鬼和角度在我的肩膀上”的情况:)。 “没有人因为选择 IBM 而被解雇”逻辑说:“有人会传递一个无效的参数。你已经投入了精力来验证这是否是通过验证参数来处理的。加倍努力,为每个参数投入一些测试用例,以验证你的参数验证是否有效。 ”

但是脚踏实地的逻辑是——“这是自重。验证代码本身只是保险。在验证上添加测试用例是浪费金钱,增加了另一层保险”。

我应该做什么?

所以,我的问题是:“我应该为每个公共(public)方法的每个参数编写测试用例来验证参数验证代码确实有效吗?

最佳答案

是的,你应该这样做。这正是非常适合单元测试的场景:带有一些可能输入的小操作。

要说你必须对每个参数执行此操作是不同的:仅对那些对其执行了某些逻辑的参数执行此操作。

理想情况下,您希望每个要求都反射(reflect)在测试中:“如果字符串为空,则抛出参数异常”应该有相应的单元测试。

我同意这些测试编写起来很简单,但它们会给你很大的保证,让你的代码的基础知识做他们应该做的事情。当然,如果您只是复制它并在需要时更改一些值,它们的编写速度也会非常快。

验证代码是保险,但它是保险的重要组成部分:如果验证不起作用,您的程序就会进入未指定的区域。确保保险有效。

关于validation - 单元测试 - 我应该测试参数验证代码吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com