私はユニットテストに慣れていないので、何か間違ったことをしている可能性があります。
XmlResultクラスがあります。
public class XmlResult : ActionResult
{
public XmlDocument Document { private get; set; }
public override void ExecuteResult(ControllerContext context)
{
//Do something
}
}
また、コントローラー拡張メソッドがあります。
public static class ControllerExtensions
{
public static XmlResult Xml(this Controller controller, XmlDocument document)
{
return new XmlResult { Document = document };
}
}
そしてテスト方法:
[TestClass]
public class ControllerExtensionsTests
{
#region Xml
[TestMethod]
public void XmlExtensionShouldReturnCorrectValue()
{
// Arrange
var mockRepository = new Mock<T>();
var productsController = new ProductController(mockProductRepository.Object);
var someXmlDocument = new XmlDocument();
// Act
var actual = productsController.Xml(someXmlDocument);
var expected = new XmlResult { Document = someXmlDocument };
// Assert
Assert.AreEqual(expected, actual);
}
#endregion
}
そして、私が私のテストを呼び出すとAssert.AreEqual(expected, actual);
、メッセージで失敗します"Assert.AreEqual failed. Expected:<XmlResult>. Actual:<XmlResult>."
。私は何が間違っているのですか?