在[TestInitialize]
我写
dbfc.Setup(_=>_.crt(It.IsAny<string>())).Returns("blhblh");
那是因为我在很多测试中都需要它。
现在,在[TestMethod]
上我写了
dbfc.Setup(_=>_.crt("blhblh")).Returns("blhblh").Verify;
dbfc.VerifyAll();
结果是第一个方法通过了验证,尽管我并不想这样做,并且由于第一个方法我得到了一个错误,并且我希望第二个方法覆盖第一个方法,并且只有第二个方法将进行验证。
如果您的模拟特定于您编写的每个测试方法,那么就在您想要的位置实例化并设置模拟,如
所示dbfc = new Mock<Class/Interface>();
dbfc.Setup(_=>_.crt("blhblh")).Returns("blhblh").Verifiable();
dbfc.VerifyAll();