【发布时间】:2016-03-28 17:45:12
【问题描述】:
以下内容在 XUnit 中未断言为真(StartDate 和 EndDate 是 DatePeriod 仅有的两个公共属性):
var actual = new List<DatePeriod>()
{
new DatePeriod() { StartDate = new DateTime(2017, 1, 20), EndDate = new DateTime(2018, 1, 19)},
new DatePeriod() { StartDate = new DateTime(2018, 1, 20), EndDate = new DateTime(2018, 3, 31)}
};
var expected = new List<DatePeriod>()
{
new DatePeriod() { StartDate = new DateTime(2017, 1, 20), EndDate = new DateTime(2018, 1, 19)},
new DatePeriod() { StartDate = new DateTime(2018, 1, 20), EndDate = new DateTime(2018, 3, 31)}
};
Assert.Equal(actual, expected);
根据一些研究,我预计在最新版本的 XUnit 中这些最终会被认为是平等的,因为使用 Assert 时只要顺序相同。
【问题讨论】:
-
Equals和GetHashCode方法是在Period中定义的吗? -
不,我需要这样做吗?
-
@YacoubMassad 请查看我对您的回答的评论,我不得不稍微更新我的帖子,因为没有 Period 对象,一切都只使用 DatePeriod。
标签: c# assert xunit xunit.net xunit2