0
A
回答
5
看起来像你需要代码覆盖工具,它分析你的解决方案,并显示哪些代码行测试,哪些不是。看看NCover,TestDriven.NET或NCrunch。
请记住,仅仅为某些方法找到单元测试名称是不够的,因为方法里面可能有很多代码执行路径,其中一些可能没有被测试覆盖。
1
您可以使用反射来查找所有方法(Assembly.GetTypes()
返回所有类型,type.GetMethods()
返回其方法)。由于单元测试也是程序,您可以通过method.GetCustomAttributes()
寻找[TestMethodAttribute]
(取决于您使用的测试框架)来遍历单元测试方法。
但是,找出每种测试方法的作用并不难,因为您对测试包含的内容没有限制。代码覆盖工具可以准确显示代码的哪些部分已经过测试,甚至每个方法的以内(例如,涵盖if
语句的哪些分支)的部分。
+0
我需要在源代码中找到方法,而不是在MSIL中,因为我想修改源代码中的某些代码。只是一些小的修改,如改变常量。它在MSIL中修改开销。 – proliid
相关问题
- 1. 如何在Prolog中找到所有解决方案?
- 2. 找到解决方案中所有项目的所有参考
- 3. Finagle解决方案找不到方案
- 4. 获取解决方案中所有方法参数的方法
- 5. scipy.optimize.linprog无法找到解决方案
- 6. SQLSTATE [HY093]:无法找到解决方案
- 7. 如何配置解决方案中的所有C#项目
- 8. 如何在我的解决方案中找到所有构建事件
- 9. 如何在我的解决方案中找到所有隐式WPF样式?
- 10. 如何在回溯中找到所有可能的解决方案
- 11. MSTest封装/解决方案中的所有测试方法
- 12. 在Prolog程序中查找所有自然数解决方案
- 13. 在Team Foundation 2010的所有解决方案中查找文本
- 14. 在解决方案中查找所有引用的位置
- 15. Scipy fsolve:没有解决方案使所有有效的解决方案失效
- 16. 从C#解决方案调试C++解决方案
- 17. SWI-Prolog:findall/3找不到所有解决方案?
- 18. 找到所有的解决方案,谓语
- 19. 即使存在解决方案,scipy.optimize.linprog也找不到解决方案
- 20. 使用Cake(C#make)在树中构建所有解决方案?
- 21. C#在解决方案中的所有项目中递归查找引用
- 22. 寻找.Net解决方案的免费授权解决方案
- 23. C#/ C++在同一个解决方案 - 的DllImport找不到DLL
- 24. 程序死机,无法找到解决方案。 SDL和C++
- 25. 在解决方案中查找文件
- 26. 所有前端语言/解决方案
- 27. 如何构建C#解决方案
- 28. 如何打开C#解决方案
- 29. 查找VS解决方案中的所有.rpt文件
- 30. 寻找有关htaccess的解决方案
工具应该如何知道方法和单元测试是如何相关的? –
为什么你需要这些信息?你想如何使用它? –
我需要验证一个方法的单元测试是否足够强大? 我不知道开发者是否将代码单元测试编码为完全覆盖,但断言像Assert.IsTrue(true)这样的废话。所以我尝试通过删除代码路径来修改源代码,修改常量,构建解决方案并再次运行单元测试,如果单元测试总是通过的话,那么单元测试是“弱”的。 – proliid