我有一個單元測試如下:C#單位測試失敗,即使AssertAreEqual似乎是相等
[TestMethod]
public void ShowPreviousGuessesSetsTheModelPropertyToTheListOfGuessObjectsStoredInTheGuessingGameObject()
{
//Arrange
//First, set up a game and store the expected result
var theGame = new GuessingGame();
List<Guess> expectedResult = theGame.ShowGuessesMade();
//Next, set up a FakeHttpContext with this game stored in the Session
var theContext = new FakeHttpContext();
var theKey = "GameState";
theContext.Session.Add(theKey, theGame);
//Now, set up a controller with this context
var controller = new Exercise09Controller();
var request = new System.Web.Routing.RequestContext(theContext, new System.Web.Routing.RouteData());
controller.ControllerContext = new System.Web.Mvc.ControllerContext(request, controller);
//Act
var result = controller.ShowPreviousGuesses();
//Assert
Assert.AreEqual(expectedResult, result.Model);
}
而從上面的代碼我已經作出了以下類:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Prigmore2013_01.Models
{
public class GuessingGame
{
public List<int> Target { get; set; }
public List<int> Guesses { get; set; }
public List<Guess> ShowGuessesMade()
{
var listRange = new List<Guess>();
if (listRange != null)
{
return listRange;
}
return listRange;
}
}
}
我已運行測試,我得到的錯誤:
Message: AssertAreEqual failed.
Expected:<System.Collections.Generic.List`1[Prigmore2013_01.Models.Guess]>.
Actual:<System.Collections.Generic.List`1[Prigmore2013_01.Models.Guess]>.
會有人能向我解釋爲什麼這個單元測試是失敗的,即使日e期望值==到實際值?我該如何解決這個問題,以便我的單元測試通過?