3

メソッドの単体テストを作成しようとしていますが、正しく構成できないようです。New Test -> Unit Test Wizard -> Pick my method -> テスト メソッドの値を入力しますが、常に Assert.Inconclusive が失敗しました。このテスト方法の正しさを検証してください。

サンプルメソッドは次のとおりです。

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
        }

        public int Mult(int a, int b)
        {
            return a * b;
        }
    }
}

そしてテスト方法:

[TestMethod()]
        public void MultTest()
        {
            Program target = new Program(); // TODO: Initialize to an appropriate value
            int a = 4; // TODO: Initialize to an appropriate value
            int b = 5; // TODO: Initialize to an appropriate value
            int expected = 20; // TODO: Initialize to an appropriate value
            int actual;
            actual = target.Mult(a, b);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }

簡単なことのように思えますが、些細なことを見逃していますか?

4

2 に答える 2

3

Assert.Inconclusive は主に、テスト メソッドに対して独自の検証手順を正しく行う必要があることを示すマーカーです。つまり、独自のアサーションを追加したため、現在行っていることを削除できます。

テストの完全な実行を妨げるロジックがテストにある場合にも使用できます。したがって、たとえば、何らかの理由でテストしようとしていたオブジェクトを作成できなかった場合。

于 2012-11-07T13:37:11.730 に答える
1

あなたがすることを確認してください:

Assert.Inconclusive("Verify the correctness of this test method.");

あなたのテストは決定的ではないと言っているので、テストの結果は決定的ではありません..この構文「Assert.Inconclusive」は、本当に知っているエッジケースをカバーするためにのみ使用する必要があります。

AFAIC、私はそれを決して使用しません。

于 2012-11-07T13:38:36.600 に答える