我想知道覆蓋特定方法的測試。但是,NCover不提供此信息。我不想使用VSTS,因爲我的代碼不在TFS中。 有什麼辦法/工具在.NET中做到這一點?.NET--確定哪些測試用例覆蓋了一個方法
回答
從根本上說,你必須做的是爲每個測試運行一次測試覆蓋工具,爲該測試生成一個覆蓋矢量。如果您有數百個測試,您可以分別收集每個測試的覆蓋範圍。
那麼如果覆蓋向量N覆蓋了一個方法,則測試N引起了覆蓋。
我不知道NCover如果/如何NCover可以交叉引用回對應於該方法源代碼的行範圍。
對於我們C# Test Coverage Tool,所述instrumenter工具產生線號範圍每個覆蓋測試點,並有在每一方法的起始插入的測試點。因此,如果您知道文件中某個方法的行號,您可以在技術上定位入口覆蓋點,從而確定組成該方法的行範圍,從而確定方法中的所有測試覆蓋點。通過這樣的列表,計算測試覆蓋矢量是否已經達到這些點是很簡單的。所以,我們的工具有提供這些數據所需的信息,儘管它沒有很好的記錄。你可以向我們詢問進一步的文件或幫助做到這一點。
dotCover我相信提供那種在UI支持,但我不敢肯定,如果該信息可從構建機器。
OpenCover在正在進行的工作在其叉的一個 - 這是該項目的original aims之一,並帶動OpenCover的設計與測試的單次運行達到這個目的 - 敬請期待......
最後,正如Ira提到的那樣,您可以單獨運行測試並使用NUnit/MSTest(插入測試工具)執行單個測試(使用大多數覆蓋率工具,例如NCover,PartCover,PartCover,OpenCover,...)也將涵蓋任何設置/拆卸操作中發生的任何事情。
您不僅需要測試覆蓋矢量。您需要以某種方式識別方法的主體是否被矢量覆蓋,通過(大概)除了覆蓋數據的視覺檢查以外的手段。 –
艾拉 - 我認爲這就是你所提到的,NCover等人都有一些可視化覆蓋範圍的代碼,可以用來可視化「單一」測試的覆蓋範圍。把這個彙總到一個單一的閱讀器當前是一個讀者的練習。 –
OP正在詢問一個方法,測試覆蓋了它。推測他有一個(完全限定的)方法名稱,並且想要調用一個返回整數測試數字列表的函數。看一組像素不會回答這個問題。 –
- 1. 確定哪些測試提供了VS2010代碼覆蓋率結果的覆蓋
- 2. Grails,Hudson和Cobertura,哪些測試覆蓋了我的代碼?
- 3. 確定哪個覆蓋方法實際上被調用
- 4. 切入點覆蓋哪些方法?
- 5. 測試一個方法是否是一個覆蓋?
- 6. CodeIgniter部分覆蓋了一個方法
- 7. 確定函數的哪些部分未被單元測試覆蓋
- 8. 是否有任何好的工具可以確定哪些軟件組件具有測試覆蓋範圍,哪些不具備測試覆蓋範圍?
- 9. 檢測一個方法未被覆蓋
- 10. 當我運行覆蓋測試時,我得到了測試方法代碼的覆蓋範圍,沒有我想要測試的方法的覆蓋範圍
- 11. 曼哈頓天際線覆蓋失敗一些測試案例
- 12. 確定一個C#方法是否使用了反射關鍵字'覆蓋'
- 13. JUnit測試中的覆蓋方法
- 14. c#單元測試覆蓋方法
- 15. junit - 本地測試方法覆蓋 - @BeforeClass
- 16. 覆蓋MongoDb .NET CRUD方法
- 17. 哪種方法被覆蓋?
- 18. 實例C覆蓋方法#
- 19. 覆蓋實例方法
- 20. 哪些方法可用於檢測Linux內核中覆蓋的內存?
- 21. 未覆蓋哪些區塊?
- 22. 給定類別/方法的歷史測試覆蓋率數據
- 23. 有沒有辦法確定哪個JS被覆蓋window.console?
- 24. 使用eclEmma工具記錄每個測試用例的測試覆蓋率
- 25. 如何確定一個方法覆蓋C++中現有的虛擬方法?
- 26. 這些測試用例是否正確?
- 27. 哪些測試可以用於這個小方法?
- 28. 確定一個實例已覆蓋GetHashCode和Equals?
- 29. 從實例創建一個子類以覆蓋幾個方法?
- 30. 瞭解塊測試的塊覆蓋率測試
Downvoter:這個答案的哪一部分沒有解決OP的問題?它確切地描述了需要什麼,所以OP知道要尋找什麼,並在他無法找到時尋求幫助。嘖。 –
你不只是恨那 –
是的,我喜歡。人們對我提出了很多討厭的解決問題的方案,而這些問題並不是免費的。 (對於我提供的許多解決方案,沒有任何免費的替代方案,所以我認爲仇恨者不希望以任何價格得到答案)。其驚人的...我懷疑他們大多數是提供他們的僱主解決方案的錢,他們似乎並不反對自己。 –