0

私はこのようなテスト方法を持っています

    [TestMethod]
    public void TestMethod1()
    {
        var smthing= new doSmthing();
        smthing.doSomefunction("Test Service","Test Operation");

       // do something next
       var 2ndsmthing = do2ndSmthing();
       2ndsmthing.do2ndSomeThing("Test","Method")
    }

これらの 2 つの関数または呼び出しは同じテスト メソッドの下にある必要があると思いますが、最初のメソッドの呼び出し中に問題が発生した場合にテストが停止しないようにするにはどうすればよいですか? つまり、doSmthing() を呼び出しているときに、テスト メソッドで Try...Catch ブロックを使用するのは悪い考えだと聞きました。どうすればこれを解決できますか?

どんなアイデアでも本当に感謝しています。

4

1 に答える 1

5

例外を予期してテストしたい場合は、テスト メソッドで ExpectedException 属性を使用できます。

最初の 2 行でスローされた例外を「飲み込み」たい場合は、それを試行/キャッチする必要があります。他の例外処理と同様に、できる限り具体的な例外をキャッチする必要があります。

15 年間、そのうちのいくつかは TDD プロジェクトに費やされましたが、他のコードを実行できるように例外を飲み込むテストを個人的に見たことがありません。

それらを 2 つのテストに分割する必要があります。[/ソープボックス]

于 2013-07-15T01:37:36.643 に答える