我希望對代碼中的特定字典運行單元測試,嘗試獲取我不希望存在於數據庫中的值(在本例中,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