0

すべてのテストが実行された後にレポートを作成するユニット/統合テストがたくさんあります。現時点では、レポートを作成するメソッドにハードコードされた応答を渡しています。

テストメソッドの結果を取得するにはどうすればよいですか? この結果を応答として渡すことができるようにします。

ここに画像の説明を入力

テスト出力が、テストメソッド内で取得したいテスト結果をどのように示しているかを確認してください。私はその可能性を知っています。テスト名を取得できましたが、結果を取得できませんでした。どんな助けでも本当に感謝しています。

注:私は通常のMSTestを使用しています

4

2 に答える 2

0

テストが失敗するTest Methodと、自動的に中止されます。メソッドでCurrentTestOutcomeプロパティを使用できます。TestCleanupStackTrace を取得する場合は、すべてのメソッドのコードをtry/catchブロック内に配置する必要があります。

[TestClass]
public class TestClass
{
    [TestCleanup]
    public void TestCleanup()
    {
        // here you have access to the CurrentTestOutcome bot not on stacktrace
        if (TestContext.CurrentTestOutcome == UnitTestOutcome.Failed)
        {
            // do something
        }
    }

    [TestMethod]
    public void TestMethod()
    {
        try
        {
            // Your test code here
        }
        catch (Exception exception)
        {
            // here you have access to the StackTrace
            TestContext.WriteLine(exception.StackTrace);

            // You can also add it to the TestContext and have access to it from TestCleanup
            TestContext.Properties.Add("StackTrace", exception.StackTrace);
            // Or...
            TestContext.Properties.Add("Exception", exception);

            throw;
        }
    }
}
于 2013-07-15T07:11:54.850 に答える
0

テスト結果を取得するには、TestContext.CurrentTestOutcomeプロパティを使用できます。そこPassedFailed、、、Unknown値が表示されます。スタック トレースに関する限り、StackTraceクラスを使用する必要があると思います。

于 2013-07-15T06:38:50.780 に答える