1

私は Dotcover を使用して、ユニットテストが私の製品コードをカバーしているかどうかを確認しています。スローされた例外をテストしようとしている場合を除いて、それは非常にうまく機能します。それが私の質問です。以下の両方のバリアントを既に試しましたが、92% または 89% のカバレッジしか得られません。

単体テスト フレームワークに関する注意事項: 外部/追加のフレームワークは使用していませんが、Visual Studio 自体に付属している Unittest フレームワークを使用しています。

[TestMethod]
[ExpectedException(typeof(FormatException), "No exception or exception of wrong type thrown")]
public void TestException()
{
    new myClass().DatabaseID = 0;
}

[TestMethod]
public void TestException()
{
    try {
        new myClass().DatabaseID = 0;
        Assert.Fail
    }
    catch (Exception ex)
    {
        Assert.IsTrue (ex is FormatException);
    }
}

また、キャッチで formatexception を使用して、その周りに別のキャッチを試してみましたが、それでも最高は 92% であり、それ以外の場合は 16% まで低下します。だから、私の質問がここで述べたように、私はそこで何が間違っているのですか?

myclass に関する追加情報として、次のプロパティとプライベート変数があります。

private int _DatabaseID;

public int DatabaseID
{
     get { return _DataBaseID; }
     set { if (value != 0) {_DatabaseID = value; } else { throw new FormatException ("haha"); }
}
4

0 に答える 0