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

标签 unit-testing testing

单元测试的主要好处之一是提供信心,确保以后需要更改代码时不会破坏代码。然而,单元测试为字面上用作一次性代码的代码提供了哪些好处?这种一次性代码肯定会在生产中使用,但一旦部署就永远不会真正改变。在这种情况下单元测试是否仍然有意义,如果是的话具体如何?

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

更新 2:一次性代码首先用于生产的原因是该代码仅供一个客户使用一次。它永远不会被修改。它被一次使用了几天。它非常特定于单个客户。之后它就再也没有用于任何其他目的,包括同一个客户端。尽管进行了功能测试,但在这种情况下编写单元测试是否仍然有值(value)?

最佳答案

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

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

编写单元测试的过程中经常会暴露出错误。它迫使您考虑您在编写快乐日案例时可能没有想到的案例。

关于unit-testing - 对在生产环境中运行的一次性代码进行单元测试是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293433/

相关文章:

javascript - 如何监视 React 组件构造函数 - 单元测试?

testing - 将 t.Parallel() 放在我的测试顶部有什么实际好处?

java - Spring Boot 测试始终运行 schema-${platform}.sql

对测试用例进行版本控制

java - @Before 和 @Transactional

unit-testing - 使用 Mockito 模拟挂起函数返回 null

unit-testing - 单元测试和集成测试有什么区别?

c++ - 如何在 RHEL c/cpp 应用程序上测试连接超时

android - 模拟方法出错

postgresql - 如何准备使用 PostgreSQL 内存替换的集成测试?