在VS 2012中比较两个对象时,单元测试失败

时间:2012-12-21 14:27:50

标签: vb.net visual-studio-2010 unit-testing object

我有以下单元测试:

  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失败。预期:。实际:。

有人可以说明如何使其发挥作用。

1 个答案:

答案 0 :(得分:4)

您正在比较两个不同的 Paper个对象 您需要覆盖Equals()GetHashCode()才能认为它们相同。

但是,如果您希望类的所有实例都相等,则应使用枚举。