4

Visual Studio 2012でAnalyze Code Coverageツールを使用しています。このレポートは、何がカバーされているかについて非常に衒学的であるように思われ、より多くのカバーを提供するために他に何ができるかわかりません.

私がテストしているコードはこれです:

public class Factory<T> : IFactory<T> where T : new()
{
    public T Create()
    {
        return new T();  // This line has only partial coverage.
    }
}

単体テスト:

using System;
using Xunit;
public class Factory_Tests
{
    [Fact]
    public void Constructor_Works()
    {
        var target = new Factory<Exception>();
    }

    [Fact]
    public void Create_ReturnsNewValue()
    {
        var target = new Factory<Exception>();
        var actual = target.Create();
        Assert.NotNull(actual);
    }
}

レポートは、上記のコメント行は部分的にしかカバーされていないと主張しています。この行で何をテストできなかった可能性がありますか?

4

1 に答える 1

2

参照型と値型の両方を受け入れることができるジェネリック メソッドであるため、両方でテストする必要があります。

于 2014-03-19T05:35:09.410 に答える