考慮我有一個方法M()
將在執行測試T1()
和T2()
期間被調用。如何查找在執行期間調用特定方法的單元測試?
有沒有辦法找出M
將在T1
和T2
執行?
我知道通過代碼找不到它是不可能的。但是使用Unit Test的執行歷史也很好。
考慮我有一個方法M()
將在執行測試T1()
和T2()
期間被調用。如何查找在執行期間調用特定方法的單元測試?
有沒有辦法找出M
將在T1
和T2
執行?
我知道通過代碼找不到它是不可能的。但是使用Unit Test的執行歷史也很好。
OpenCover(也可通過nuget獲得)將其作爲功能-coverbytest
,其結果可以使用ReportGenerator可視化。
愛OpenCover。謝謝Shaun的所有好作品! – 2014-11-04 01:42:20
@SrikanthVenugopalan不客氣 - 這是一個愛的勞動 – 2014-11-04 03:38:16
NCrunch是一個很棒的測試工具(付費),它顯示測試覆蓋率(包括在這些方法中)內聯和報表(度量)。
NSubstitute(及其他)讓你做檢查,如.Recieved()
,讓您的具體預期兩個參數多少次你希望它被稱爲(或不叫!)
http://nsubstitute.github.io/help/received-calls/
[Test]
public void Should_execute_command_the_number_of_times_specified() {
var command = Substitute.For<ICommand>();
var repeater = new CommandRepeater(command, 3);
//Act
repeater.Execute();
//Assert
command.Received(3).Execute(); // << This will fail if 2 or 4 calls were received
}
代碼覆蓋工具使用這些機制。那是你在找什麼? – 2014-11-03 16:12:55
單元測試框架通常允許監聽一個方法是否被調用。 Nunit,Rhinomocks – MrFox 2014-11-03 16:15:56
@MrFox我正在使用Nunit。但我在哪裏可以找到? – mehrandvd 2014-11-03 16:18:57