我有一些为 MsTest 编写的集成测试。集成测试具有以下结构:
[TestClass]
public class When_Doing_Some_Stuff
{
[TestInitialize]
protected override void TestInitialize()
{
// create the Integration Test Context
EstablishContext();
// trigger the Integration Test
When();
}
protected void EstablishContext()
{
// call services to set up context
}
protected override void When()
{
// call service method to be tested
}
[TestMethod]
public void Then_Result_Is_Correct()
{
// assert against the result
}
}
我需要按调用者过滤函数的代码覆盖率结果。也就是说,我希望仅在从名为“When”的函数调用该函数或应用了某个属性时才考虑覆盖范围。
现在,即使在某些测试的EstablishContext部分调用了系统中的某个方法,该方法也被标记为已访问。
我相信对此没有过滤器,我想自己进行更改,因为 OpenCover 是……嗯……是开放的。但我真的不知道从哪里开始。谁能指出我正确的方向?