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")
    }

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

任何想法都非常感谢。

4

1 回答 1

5

如果您期望并想要测试异常,可以在测试方法上使用 ExpectedException 属性。

如果您想“吞下”前两行抛出的异常,则必须尝试/捕获它。与任何异常处理一样,您应该捕获最具体的异常。

在 15 年中,其中有几个都花在了 TDD 项目上,我个人从未见过一个测试会吞下异常以便其他代码可以运行。

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

于 2013-07-15T01:37:36.643 回答