【问题标题】:Identifying non used functions through unit test通过单元测试识别未使用的功能
【发布时间】:2017-09-01 07:18:28
【问题描述】:

我写了一个辅助类,里面有很多公共函数。

我通过同一项目中的不同文件调用的函数很少。

我没有调用一些函数,因为我认为我将来会使用它。

我可能写错了一些函数,将来可能没有用,或者完全浪费。

问题:

是否可以编写测试用例来检查哪些函数被调用,哪些函数未被调用?

如果不使用辅助函数,我们是否可以编写测试用例使测试失败?

将未使用的函数保留在帮助类中是最佳做法吗?

更新:

如果我在课堂上保留未使用的函数以供将来参考并编写 为此进行单元测试,测试覆盖率包括这些功能并给出 错误的测试覆盖率,那么为那些编写测试用例是否正确 函数还是删除那些未使用的函数更好?

【问题讨论】:

  • 关于最佳实践,请记住YAGNI。还要阅读TDD 的基础知识。此外,您可以使用mock objects 检查在测试期间调用了哪些函数。
  • 通常你会/可以使用测试覆盖工具来做到这一点。
  • @rene 一个 testcoverage 工具难道不会只找出测试过的函数吗?
  • Visual Studio 在方法上面有那些小信息行。它们就像“0 引用| 0 更改| 0 个作者,0 更改” - “0 引用”是一个很好的暗示,他们没有被称为首发。
  • @Fildor 两者都会。它将显示测试了哪些行/方法/类,哪些没有。查看 ncover:ncover.com 或 VS2015 SKU 中可用的内容:msdn.microsoft.com/en-us/library/dd537628.aspxEMMA,通过 Jenkins 插件选项覆盖 c#

标签: c# asp.net .net unit-testing nunit


【解决方案1】:

简而言之,可能不是因为它依赖于您对系统其余部分的 100% 覆盖并使用某种代码覆盖工具。 Resharper 之类的代码检查会告诉你它认为哪些方法没有被使用。

【讨论】:

  • 大家好,请您对我问题的更新部分发表评论吗?
  • 大多数时候最好删除未使用的函数,请参阅 @SmartestVEGA 的 YAGNI 原则
猜你喜欢
  • 1970-01-01
  • 2015-04-04
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-30
  • 2020-05-09
  • 2021-09-07
相关资源
最近更新 更多