Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C解决方案中找到所有方法_C#_Unit Testing_Methods_.net Reflector - Fatal编程技术网

C# 如何在C解决方案中找到所有方法

C# 如何在C解决方案中找到所有方法,c#,unit-testing,methods,.net-reflector,C#,Unit Testing,Methods,.net Reflector,我需要列出C解决方案/项目中的所有方法名称及其单元测试 你对此有什么想法吗 更新:您知道任何C源代码解析器吗?看起来您需要代码覆盖率工具,该工具分析您的解决方案,并显示哪些代码行经过测试,哪些代码行未经测试。看看,或者 请记住,仅仅为某些方法查找单元测试名称是不够的,因为该方法内部可能有许多代码执行路径,而其中一些路径可能没有被测试覆盖。看起来您需要代码覆盖工具,它分析您的解决方案,并显示哪些代码行已测试,哪些未测试。看看,或者 请记住,仅仅为某些方法查找单元测试名称是不够的,因为该方法内部可能

我需要列出C解决方案/项目中的所有方法名称及其单元测试

你对此有什么想法吗


更新:您知道任何C源代码解析器吗?

看起来您需要代码覆盖率工具,该工具分析您的解决方案,并显示哪些代码行经过测试,哪些代码行未经测试。看看,或者


请记住,仅仅为某些方法查找单元测试名称是不够的,因为该方法内部可能有许多代码执行路径,而其中一些路径可能没有被测试覆盖。

看起来您需要代码覆盖工具,它分析您的解决方案,并显示哪些代码行已测试,哪些未测试。看看,或者


请记住,仅仅为某些方法查找单元测试名称是不够的,因为该方法内部可能有许多代码执行路径,其中一些路径可能没有测试覆盖。

您可以使用反射来查找所有方法Assembly.GetTypes返回所有类型,type.GetMethods返回其方法。由于单元测试也是程序,您可以通过查找[TestMethodAttribute]来迭代单元测试方法,具体取决于您在method.GetCustomAttributes中使用的测试框架


但是,要找出每个测试方法的作用要困难得多,因为您对测试包含的内容没有限制。代码覆盖率工具可以准确地显示测试代码的哪些部分,甚至每个方法中的部分,例如if语句的哪些分支被覆盖。

您可以使用反射来查找所有方法程序集。GetTypes返回所有类型,type.GetMethods返回其方法。由于单元测试也是程序,您可以通过查找[TestMethodAttribute]来迭代单元测试方法,具体取决于您在method.GetCustomAttributes中使用的测试框架


但是,要找出每个测试方法的作用要困难得多,因为您对测试包含的内容没有限制。代码覆盖率工具可以准确地向您显示测试代码的哪些部分,甚至每个方法中的部分,if语句的哪些分支被覆盖,例如。

visual Studio中有一个名为“资源视图”的窗口,它将枚举treeview结构中的所有类和方法,然后选中该窗口时,将光标移到相关的文件/行。

visual Studio中有一个名为“资源视图”的窗口,它将枚举treeview结构中的所有类和方法选择此选项后,光标将指向相关文件/行。

工具如何知道方法和单元测试之间的关系?为什么需要这些信息?你想如何使用它?我需要验证一个方法的单元测试是否足够强大?我想知道开发人员是否只是将单元测试编码为完全覆盖,而断言一些毫无意义的东西,比如Assert.IsTruetrue。因此,我尝试通过删除代码路径、修改常量、构建解决方案并再次运行单元测试来修改源代码,如果有任何单元测试总是通过,那么单元测试就很弱。工具应该如何知道方法和单元测试之间的关系?为什么需要这些信息?你想如何使用它?我需要验证一个方法的单元测试是否足够强大?我想知道开发人员是否只是将单元测试编码为完全覆盖,而断言一些毫无意义的东西,比如Assert.IsTruetrue。所以我尝试通过删除代码路径、修改常量、构建解决方案并再次运行单元测试来修改源代码,如果有任何单元测试总是通过,那么单元测试就很弱。我需要在源代码中找到方法,而不是在MSIL中,因为我想修改源代码中的一些代码。只是一些小的修改,比如改变常数。我需要在源代码中找到方法,而不是在MSIL中,因为我想在源代码中修改一些代码。只是一些小的修改,比如改变常数。在MSIL中修改会增加开销。