0
比較兩個對象時失敗,我有以下的單元測試:單元測試VS 2012
Public Sub pickWeaponTest_Rock()
Dim lastMove As String = "Rock"
Dim actualSelectedMove As Weapon = New Paper()
Dim result As Weapon
Dim target As Object = New PlayerComputerTactical() ' TODO: Initialize to an appropriate value
result = target.pickWeapon()
Assert.AreEqual(result, actualSelectedMove)
Assert.Inconclusive("A method that does not return a value cannot be verified.")
End Sub
我碰到下面的錯誤,儘管都是紙對象:
Microsoft.VisualStudio.TestTools。 UnitTesting.AssertFailedException由用戶代碼 未處理消息= Assert.AreEqual失敗。預期:。實際:。
有人可以請說明如何讓這個工作。
感謝您的及時回覆。由於缺乏知識,我對編程感到抱歉。我試過Assert.Equals(result.GetHashCode(),actualSelectedMove.GetHashCode())是否正確? – AJsStack
@AtiqJaved:No;一點也不。當兩個實例相等時,您需要**重寫**類中的Equals()和GetHashCode()方法來告訴.Net。 http://msdn.microsoft.com/en-us/library/ebca9ah3.aspx – SLaks
這聽起來像你應該使用枚舉。 – SLaks