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