【发布时间】:2017-08-07 16:32:27
【问题描述】:
我遇到了断言两个匿名类型的问题。
到目前为止我做了什么
- 我有一个单元测试项目,它可以看到我正在测试的项目的内部结构,因此匿名类型对测试项目是可见的。
- 我在这里读到了匿名类型的行为更像结构(值类型)而不是引用类型:Why anonymous types Equals implementation compares fields?
再一次,在尝试再次测试相等性时出现断言异常:
1.
Assert.IsTrue(actionResult.Value.Equals(expectedActionResult.Value));
预期:正确但结果:错误
2.
Assert.AreEqual(actionResult.Value, expectedActionResult.Value);
预期: (f__AnonymousType0'2[System.Int32,System.String]) 但是是: (f__AnonymousType0'2[System.Int32,System.String])
这是我创建真实和预期结果的地方:
var actionResult = _systemUnderTest.GetToken(null) as JsonResult;
var expectedActionResult =
new JsonResult(new
{
errorCode = (int)ErrorCodes.InvalidOrMissingParameters, errorMessage = ErrorCodes.InvalidOrMissingParameters.GetDescription()
});
我错过了什么?
【问题讨论】:
-
你也可以看看这里提供的答案stackoverflow.com/questions/38439811/…
标签: c# .net unit-testing anonymous-types