.net - 对两个对象进行 Assert.AreEqual 但忽略 DateTime 属性

标签 .net unit-testing

我有一个单元测试,我在其中模拟具有 DateTime 属性的结果,该属性是在执行操作时设置的 - “CreatedOn”属性。由于我无法创建结果并同时执行操作,因此我的 Assert.AreEqual 总是失败。如何测试我的两个对象是否相同(除了某些日期时间字段之外)?

最佳答案

这里实际上有两个选择:

  1. 在创建时间后更改 CreatedOn 以使属性匹配。考虑到您的 API,这可能可行,也可能不可能。
  2. 创建一个方法来检查所有其他属性,但忽略 CreatedOn 属性。就用那个吧。这实际上只是多个 Assert.AreEqual 调用,但针对的是单个属性,而不仅仅是整个对象。

关于.net - 对两个对象进行 Assert.AreEqual 但忽略 DateTime 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19714637/

相关文章:

c# - 重写同步代码以使用 TPL 时如何简化或包装异常

c# - 什么时候调用 CanExecute?

c# - 在 ASP.NET MVC6 中设置 View 引擎以在单元测试中使用 AspNet.TestHost.TestServer

android - 使用捕获和模拟对类进行单元测试

Selenium/Ubuntu 的 PHPUnit fatal error

.net - 从 Entity Framework 模型中恢复已删除的字段,无需删除实体

c# - .net 4.0 安全模型。另一个 "Inheritance security rules violated by type..."异常

ruby-on-rails - Rails 测试夹具与唯一性

c# - C# 应用程序中的 SQL 过滤器和或语句

javascript - 简单的 NodeJS/Express 单元测试