0

私は次の単体テストを持っています:

  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

両方ともPaperオブジェクトですが、次のエラーが発生します。

Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedExceptionは、ユーザーコードによって処理されませんでしたMessage=Assert.AreEqualが失敗しました。期待される:。実際:。

誰かがこれを機能させる方法についていくつかの光を当ててください。

4

1 に答える 1

4

2つの異なる Paperオブジェクトを比較しています。オーバーライドして、それらが等しいと見なす
必要があります。Equals()GetHashCode()

ただし、クラスのすべてのインスタンスを等しくしたい場合は、代わりに列挙型を使用する必要があります。

于 2012-12-21T14:30:34.817 に答える