MS单元测试是否异常?
-
28-10-2019 - |
题
我为项目的方法创建了一个单元测试。当找不到文件时,该方法将引发异常。我为此编写了一个单元测试,但是当引发异常时,我仍然无法通过测试。
方法是 通用标签
单元测试 通用标签
我应该处理方法中的Exception还是缺少其他内容?
编辑:
我通过的路径不是找到文件的路径,因此此测试应该通过...即,如果该路径中不存在文件怎么办。
解决方案
在单元测试中,您似乎正在部署xml文件:TestData\BuildMachineNoNames.xml
,您正在将其传递给GetBuildMachineNames
。因此该文件存在,并且您不能期望会抛出FileNotFoundException
。所以也许像这样:
通用标签
其他提示
通过放置[ExpectedException(typeof(FileNotFoundException),“在找不到文件时引发异常”)]属性,您期望该方法将抛出FileNotFoundException,如果未抛出FileNotFoundException的测试将失败。否则,测试将成功。
我从来没有真正理解过ExpectedException
的意义。您应该能够在代码而不是属性中捕获异常。这是一种更好的做法,它还可以让您在提升代码后进行处理(例如,进行更多的验证)...它还可以让您停止调试器中的代码并检出内容,而无需在论坛中提问。:)
我将使用Assert.Throws(TestDelegate code);.
请参见此处为示例。
不隶属于 StackOverflow