C# 如何查找未执行的代码

C# 如何查找未执行的代码,c#,reflection,fitnesse,C#,Reflection,Fitnesse,您好 我对一个项目进行了大量的适应性测试(1000+)。随着时间的推移,随着功能的改变,以及共享设备的来来往往,我们留下了未使用的孤立代码。但是如何找到它呢 对于那些不知道fit如何工作的人,您有一个类似以下内容的wiki页面: |当用户添加| 1 |和| 2 |时,返回| 3| 在运行时映射到以下方法: public bool WhenAUserAddsAndHeIsReturned(int first, int second, int expectedResult){ return

您好

我对一个项目进行了大量的适应性测试(1000+)。随着时间的推移,随着功能的改变,以及共享设备的来来往往,我们留下了未使用的孤立代码。但是如何找到它呢

对于那些不知道fit如何工作的人,您有一个类似以下内容的wiki页面:

|当用户添加| 1 |和| 2 |时,返回| 3|

在运行时映射到以下方法:

public bool WhenAUserAddsAndHeIsReturned(int first, int second, int expectedResult){

    return ((first + second) == expectedResult)
}
手工查找所有这些映射将是一件苦差事,编写脚本来完成这项工作将是一项漫长而艰巨的任务。我相信一定有更好的解决办法


是否有一个实用程序可以在测试运行时监视fixture dll,然后返回所有未运行的类和方法的列表

你要找的关键词是覆盖率。介绍了C#/.NET平台的一些选项。

与覆盖范围相关的是分析工具。有关.Net建议,请参见。这些工具告诉您在执行过程中的时间花在哪里,不一定是在代码没有运行时,但您可以使用它们来查找死代码。

eswald是正确的,覆盖工具正是您所需要的。我们的ccNet构建服务器使用NCover运行Fitnesse测试(和单元测试),以检查我们在应用程序代码的自动化测试方面做得如何。
这个问题很好地提醒您检查覆盖报告中是否有损坏的固定装置。

什么是“fitnesse”测试?这是“健身”和“技巧”的组合吗?+1短而甜。没有足够的人参考现有的好答案。如果他在单元测试期间寻找100%的方法覆盖率,这就可以了,但这是否告诉你这些方法是否会在正常的程序运行过程中实际执行吗?我知道nCover等在运行单元测试时会提供这样的数据……事实上,nCover有自己的nUnit运行程序作为其过程的一部分。但我不知道它可以在其他情况下用于分析dll。罗伯特:他要求提供一些东西,指出在测试运行时无法运行的代码。这就是代码覆盖工具所做的。事实上,他打算用它来删除死代码,但这并不意味着它是一个错误的工具。不过,您是对的,值得检查每一段未触及的代码,看看它是真的死了还是只是未经测试。