Mock<IFoo> mockFoo = new Mock<IFoo>(); mockFoo.Setup(f => f.Bar()) .Callback(() => Thread.Sleep(1000)) .Returns("test"); string result = mockFoo.Object.Bar(); // will take 1 second to return Assert.AreEqual("test", result);