【发布时间】:2017-03-25 02:16:27
【问题描述】:
我有一个方法如下:await Task.Delay(waitTime).ConfigureAwait(false);
我有一个很好的策略来避免在单元测试时实际等待几秒钟,而是验证我们是否尝试等待特定的秒数。
例如,有没有办法在我的方法中注入一个额外的参数,就像在这个(人为的)示例中,我注入一个虚构的 ITaskWaiter 接口的模拟对象:
// Arrange
var mockWait = new Mock<ITaskWaiter>(MockBehavior.Strict);
mockWait.Setup(w => w.Delay(It.Is<TimeSpan>(t => t.TotalSeconds == 2)));
// Act
myObject.MyMethod(mockWait.Object);
// Assert
mockWait.Verify();
【问题讨论】:
标签: c# unit-testing mocking moq