Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 对在生产环境中运行的一次性代码进行单元测试有意义吗?_Unit Testing_Testing - Fatal编程技术网

Unit testing 对在生产环境中运行的一次性代码进行单元测试有意义吗?

Unit testing 对在生产环境中运行的一次性代码进行单元测试有意义吗?,unit-testing,testing,Unit Testing,Testing,单元测试的一个主要好处是提供信心,当一个人以后需要修改代码时,他不会破坏代码。然而,单元测试为真正用作一次性代码的代码提供了什么好处?这种一次性的代码肯定会在生产中使用,但一旦部署,它就永远不会被更改。单元测试在这种情况下仍然有意义吗?如果有,具体意义如何 更新:一次性代码实际上是在投入生产之前进行功能测试的。通常,对于非一次性代码,尽管进行了功能测试,但进行单元测试仍然是有意义的。这里的问题是在一次性代码的情况下也进行单元测试是否有意义 更新2:一次性代码之所以在生产中首先是因为该代码实际上只

单元测试的一个主要好处是提供信心,当一个人以后需要修改代码时,他不会破坏代码。然而,单元测试为真正用作一次性代码的代码提供了什么好处?这种一次性的代码肯定会在生产中使用,但一旦部署,它就永远不会被更改。单元测试在这种情况下仍然有意义吗?如果有,具体意义如何

更新:一次性代码实际上是在投入生产之前进行功能测试的。通常,对于非一次性代码,尽管进行了功能测试,但进行单元测试仍然是有意义的。这里的问题是在一次性代码的情况下也进行单元测试是否有意义


更新2:一次性代码之所以在生产中首先是因为该代码实际上只用于一个客户机,一次。它永远不会被修改。它是由一个单一的时间使用了几天。这对于单个客户来说非常特殊。此后,它再也不会用于任何其他用途,包括同一客户机。在这种情况下,尽管进行了功能测试,编写单元测试仍然有价值吗?

在将代码投入生产之前,您应该以某种方式对其进行测试。单元测试在这里是一个有价值的部分,不管以后是否需要进行自动回归测试


单元测试也可以用在测试驱动的开发中,在实际编写代码之前,您可以勾勒出代码应该做什么。在这种情况下,单元测试有助于加快开发过程(正是因为您在代码仍然发生更改时进行了自动测试)。

您应该在将代码投入生产之前以某种方式对其进行测试。单元测试在这里是一个有价值的部分,不管以后是否需要进行自动回归测试


单元测试也可以用在测试驱动的开发中,在实际编写代码之前,您可以勾勒出代码应该做什么。在这种情况下,单元测试有助于加快开发过程(正是因为您在代码仍然发生变化的时候进行了自动化测试)。

如果我需要维护的每一段“thorwaway”代码只需要一美元……

如果我每一段“thorwaway”代码只需要一美元我曾经需要维护的代码…

我不确定代码如何既可以是生产代码又可以是一次性代码。它被用于生产这一事实意味着它不是一次性的。是什么让你如此确信,仅仅因为你现在不打算更改它,其他人可能不会在以后重新使用或更改它

无论如何,在重构时,单元测试除了保护之外还有很多好处。单元测试(和所有测试一样)有助于证明代码正在做应该做的事情。在投入生产之前,您需要在某种程度上进行测试以证明这一点,而单元测试是自动化其中一些测试的一种简单方法


编写单元测试的过程经常暴露出bug。它迫使你去思考那些你在写“快乐日”案例时可能没有想到的案例

我不确定代码如何既可以是生产代码又可以是一次性代码。它被用于生产这一事实意味着它不是一次性的。是什么让你如此确信,仅仅因为你现在不打算更改它,其他人可能不会在以后重新使用或更改它

无论如何,在重构时,单元测试除了保护之外还有很多好处。单元测试(和所有测试一样)有助于证明代码正在做应该做的事情。在投入生产之前,您需要在某种程度上进行测试以证明这一点,而单元测试是自动化其中一些测试的一种简单方法


编写单元测试的过程经常暴露出bug。它迫使你去思考那些你在写“快乐日”案例时可能没有想到的案例

我敢打赌,你花在提问和回来阅读答案上的时间足够写几个单元测试了。哪一个更好地利用了你的时间


很简单:如果你关心代码是否正确,你需要测试它。单元测试、验收测试、服务测试,不管你怎么称呼它,它都需要以这样或那样的方式进行测试。

我敢打赌,你花在提问和回来阅读答案上的时间已经足够写几个单元测试了。哪一个更好地利用了你的时间


很简单:如果你关心代码是否正确,你需要测试它。单元测试、验收测试、服务测试,不管你怎么称呼它,它都需要以这样或那样的方式进行测试。

测试有三种好处:

  • 当首先编写测试代码时,测试有助于推动设计,并确保编写可测试代码。如果这是真正的一次性代码,那么这对您来说并不重要

  • 测试为重构提供了一个安全网。同样,在你的情况下,你可能不在乎

  • 测试证明代码执行了它应该执行的操作。这确实适用于一次性代码,尤其是以测试优先的方式编写代码时。我更愿意边做边写测试,并确信我正在向QA发送可靠的东西,而不是跳过测试,等待QA人员告诉我缺陷。如果报告了一个缺陷,您必须对代码进行重大更改,该怎么办?通过自动化测试,很容易判断您的“修复”是否破坏了其他功能。如果没有自动化测试,您必须重复全套手动测试,这可能会很昂贵

  • 总而言之,如果代码是真正的“一次性”代码,并且很小或很简单,那么您可能不会得到很多好处。如果代码比较复杂,或者相对较大,则可能需要进行测试