在测试方法c#中使用try catch块是个好主意吗?

Bra*_*o11 0 c# integration-testing unit-testing mstest

我有这样的测试方法

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

       // do something next
       var 2ndsmthing = do2ndSmthing();
       2ndsmthing.do2ndSomeThing("Test","Method")
    }
Run Code Online (Sandbox Code Playgroud)

相信我这两个函数或调用需要在同一个测试方法下如何在调用第一个方法时如果出现问题就能阻止测试停止?即在调用doSmthing()时,我听说在测试方法中使用Try ... Catch块是一个坏主意.我怎么解决这个问题?

任何想法真的很感激.

Jas*_*son 5

如果您希望并且想要测试异常,则可以在测试方法上使用ExpectedException属性.

如果你想"吞下"前两行引发的异常,你必须尝试/捕获它.与任何异常处理一样,您应该捕获最具体的异常.

在15年中,其中一些花费在TDD项目上,我从未亲自看到过吞下异常的测试,以便其他一些代码可以运行.

应该将它们分成两个测试.[/肥皂盒]