首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复现有的JUnits以使它们在添加新代码后传递是否是一个好的实践?

修复现有的JUnits以使它们在添加新代码后传递是否是一个好的实践?
EN

Stack Overflow用户
提问于 2018-11-30 10:30:01
回答 2查看 32关注 0票数 3

在编写新代码之后,继续修复现有的Junits以使它们通过,这是一个好做法吗?

举例说明。

  1. 有100个绿色的JUnit测试
  2. 在目标类中添加一个新的if else块以支持某些新功能,或者引入一个新的助手类。
  3. 正因为如此,大约10个现有的Junits正在失败。

是否应该重构现有的JUnit,使它们通过添加的代码,或者以这样的方式重构代码,使现有的Junits无需任何修改就可以通过?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-30 10:34:28

现在测试失败的事实意味着您已经改变了代码的行为。一般来说,这可能意味着两件事中的一件:

  1. 如果这种行为改变是有意的,那么单元测试现在是错误的,必须修复。
  2. 如果此更改是无意的,则意味着您引入了一个bug --即单元测试是正确的,您必须修复代码才能再次通过测试。
票数 3
EN

Stack Overflow用户

发布于 2018-11-30 10:58:37

单元测试的唯一目的是检查代码单元的功能。当代码被更改时,

  • 您可以完全添加一个新功能--在这种情况下,现有的测试用例不能失败,这是由于新代码更改中引入的一个错误造成的。
  • 您可以更改现有功能--在这种情况下,现有的测试用例可能需要进行一些更改,例如,您可能需要更改正在传递的数据,将其作为已更改的输出的输入或断言语句。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53555696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档