在测试方法c中使用try-catch块是个好主意吗
本文关键字:好主意 try-catch 测试方法 | 更新日期: 2023-09-27 18:22:22
我有一个类似的测试方法
[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块。我该如何解决这个问题?
任何想法都非常感谢。
如果您期望并想要测试异常,可以在测试方法上使用ExpectedException属性。
如果你想"吞下"前两行抛出的异常,你必须尝试/捕获它。与任何异常处理一样,你应该尽可能捕获最具体的异常。
在15年的时间里,其中几年都花在了TDD项目上,我个人从未见过一个测试会吞下一个异常,以便运行其他代码。
您应该将它们分成两个测试。[/soapbox]