我希望对代码中的特定字典运行单元测试,尝试获取我不希望存在于数据库中的值(在本例中,key = 1 )。如何在未指定字典值的情况下单元测试KeyNotFoundException
我写了下面的代码:
Try
Dim s As String = myDict(1)
Catch ex As KeyNotFoundException
Assert.AreEqual("The given key was not present in the dictionary.", ex.Message)
Catch ex As Exception
Assert.Fail()
Throw
End Try
,工作正常,但代码分析是抱怨“点心S作为字符串”声明,它说,旨意绝不能用于任何东西。那么这是故意的,因为我打算为此抛出一个异常和s是无关紧要的。
但是,我似乎无法找到一种方法来消除代码中的s。简单地删除作业:
Try
myDict(1)
Catch ex As KeyNotFoundException
Assert.AreEqual("The given key was not present in the dictionary.", ex.Message)
Catch ex As Exception
Assert.Fail()
Throw
End Try
现在无法编译。有关如何做到这一点的任何建议?
不幸的是,这只是进一步向下游移动警告:我现在变得“RealDataContextTest.Unused(Object)'的参数'o'从不使用”:) – 2012-03-20 16:39:53
@ bobsmith833你使用了什么工具?编译器不应该发出这个警告。无论哪种方式,我只是把这个警告标记为压制在这个方法上。让它成为默认的“我明确不想使用这个”方法 – JaredPar 2012-03-20 16:46:44
这只是标准的代码分析,但我已将它设置为“Microsoft All Rules”。正如你所说,这可能是矫枉过正,但有兴趣看看是否有一个简单的方法来消除这种情况。 – 2012-03-20 16:49:01