Tag: nunit xunit

unit testing仅在构建服务器上运行时失败

为了帮助进行unit testing,我们在委托中包装了DateTime类,以便可以在unit testing中覆盖DateTime.Now 。 public static class SystemTime { #region Static Fields public static Func Now = () => DateTime.Now; #endregion } 以下是在xunitunit testing中使用它的示例: [Fact] public void it_should_update_the_last_accessed_timestamp_on_an_entry() { // Arrange var service = this.CreateClassUnderTest(); var expectedTimestamp = SystemTime.Now(); SystemTime.Now = () => expectedTimestamp; // Act service.UpdateLastAccessedTimestamp(this._testEntry); // Assert Assert.Equal(expectedTimestamp, this._testEntry.LastAccessedOn); } 测试在本地运行正常,但是在我们的构建服务器上失败,因为Assert语句中的日期时间不同。 考虑到DateTime是通过上面提到的委托包装器来模拟的,我正在努力想到它会失败的原因。 我已经validation了UpdateLastAccessedTimestamp方法的实现没有问题,并且测试在本地运行时通过。 […]