gpt4 book ai didi

unit-testing - 您如何判断单元测试是正确的?

转载 作者:行者123 更新时间:2023-12-03 12:04:56 25 4
gpt4 key购买 nike

我在职业生涯的各个阶段只做过较小的单元测试。每当我再次开始尝试时,总是会困扰我如何证明自己的测试是正确的。如何判断单元测试中没有错误?通常,我最终会运行该应用程序,证明它可以运行,然后将单元测试用作一种回归测试。建议使用什么方法和/或对这个问题采取什么方法?

编辑:我还意识到您可以编写易于理解的小型粒度单元测试。但是,如果您认为细粒度的代码是完美无瑕且防弹的,则可以只编写细粒度的程序,而无需进行单元测试。

Edit2:对于参数“单元测试是为了确保所做的更改不会破坏任何东西”和“只有在测试具有与代码完全相同的缺陷的情况下,这种情况才会发生”,如果测试过度适合怎么办?可以通过不好的测试来传递好代码和坏代码。我的主要问题是单元测试有什么好处,因为如果您的测试可能存在缺陷,您将无法真正提高对代码的信心,不能真正证明您的重构有效,也不能真正证明您符合规范?

最佳答案

单元测试应表示您要测试的任何内容的“契约(Contract)”。它或多或少是放入代码的单元的规格。这样,给定规格,单元测试是否“正确”应该或多或少是显而易见的。

但是我不必担心单元测试的“正确性”。它们是软件的一部分,因此,它们也很可能是不正确的。从我的观点来看,单元测试的目的是确保它们不会意外破坏软件的“契约(Contract)”。这就是使单元测试如此重要的原因:您可以在软件中进行挖掘,重构某些部分,更改其他算法,然后单元测试将告诉您是否破坏了任何内容。即使不正确的单元测试也会告诉您这一点。

如果您的单元测试中有错误,您会发现-因为单元测试失败了,而被测代码却是正确的。好了,修复单元测试。没什么大不了的。

关于unit-testing - 您如何判断单元测试是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/561485/

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