考虑我有一个方法M()
,它将在执行测试T1()
和T2()
时调用。
有没有办法找出M
和T1
会执行T2
?
我知道通过代码找不到它是不可能的。但是使用单元测试的执行历史也很好。
答案 0 :(得分:4)
OpenCover(也可通过nuget提供)将此功能设为-coverbytest
,其结果可通过ReportGenerator显示。
答案 1 :(得分:1)
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
}