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 は...まあ..オープンなので、自分で変更したいと思います。しかし、どこから始めればよいか本当にわかりません。誰かが私を正しい方向に向けることができますか?