unit-testing - 在测试驱动开发中重构时添加测试

标签 unit-testing refactoring tdd

假设我正在重构一些已经编写了单元测试的类。我们假设测试覆盖率在涵盖大多数用例的意义上是合理的。

在重构的同时,我更改了一些实现。移动一些变量,添加/删除一些变量,将事物抽象成一些函数等。类的 api 及其函数保持不变。

重构这些类时是否应该添加测试?或者我应该为每一位重构添加一个新测试?这是我在构建代码而不是重构时通常做的事情。

PS:如果这真的很含糊,我们深表歉意。

最佳答案

通常单元测试是关于如何重构的工作/设计/用例规范 System Under Test/Class Under Test (例如:类(class))应该真的有效。因此,通过说明这一点,我真的会这样做:

  1. 根据您的规范编写测试
  2. 重构代码以符合规范
  3. 查看测试断言结果

在实践中我得出的结论是,你不需要为了高百分比的代码覆盖率而测试每一行代码,但要确保你总是测试代码中 < em>行为或逻辑谎言。

关于unit-testing - 在测试驱动开发中重构时添加测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36327813/

相关文章:

node.js - 使用 Mocha 和 Sinon 测试 Mailgun .send() 方法

refactoring - 你用残暴的代码做什么?

c# - 我应该如何在 C# 中重写一个非常大的复合 if 语句?

java - 代码是否应该由 EDT(事件调度线程)执行之间的混淆?

c++ - 如何从 C++ 中的另一个主函数调用 Google Tests

tdd - BDD 和 TDD,什么是正确的工作流程?

android - Espresso - 每次测试方法后 Activity 都会关闭。有没有办法我们不能停止关闭 Activity 和运行其他测试方法

ios - 基于iOS版本的条件单元测试

java - 如何在 TestNG 中结合 Mockito 和 Spring

go - 尝试从Redis中的列表进行LPOP时类型错误的操作