我为项目的方法创建了一个单元测试。当找不到文件时,该方法将引发异常。我为此编写了一个单元测试,但是当引发异常时,我仍然无法通过测试。

方法是 通用标签

单元测试 通用标签

我应该处理方法中的Exception还是缺少其他内容?

编辑:

我通过的路径不是找到文件的路径,因此此测试应该通过...即,如果该路径中不存在文件怎么办。

有帮助吗?

解决方案

在单元测试中,您似乎正在部署xml文件:TestData\BuildMachineNoNames.xml,您正在将其传递给GetBuildMachineNames。因此该文件存在,并且您不能期望会抛出FileNotFoundException。所以也许像这样: 通用标签

其他提示

通过放置[ExpectedException(typeof(FileNotFoundException),“在找不到文件时引发异常”)]属性,您期望该方法将抛出FileNotFoundException,如果未抛出FileNotFoundException的测试将失败。否则,测试将成功。

我从来没有真正理解过ExpectedException的意义。您应该能够在代码而不是属性中捕获异常。这是一种更好的做法,它还可以让您在提升代码后进行处理(例如,进行更多的验证)...它还可以让您停止调试器中的代码并检出内容,而无需在论坛中提问。:)

我将使用Assert.Throws(TestDelegate code);.
请参见此处为示例

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top