我有一个带有以下代码行的方法: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();