【发布时间】:2018-11-11 09:22:02
【问题描述】:
我是 Moq 的新手
我阅读了很多关于 Moq 测试的内容,并且您不应该测试您的模拟对象,而是应该使用 Moq 来存根依赖项并使其像您想要的那样运行。但是现在我在问自己,你如何测试一个方法是否被同一个类中的另一个方法调用,就像这样的代码:
public class A // --> class i want to test
{
public virtual void TestMethod() // --> does it call testmethod2
{
TestMethod2();
}
public virtual void TestMethod2()
{
// Do something
}
}
我认为我可以这样编写单元测试:
[TestMethod]
public void MyTestMethod()
{
Mock<A> aMock = new Mock<A>();
aMock.Verify(o => o.TestMethod2(), Times.Once);
aMock.TestMethod();
aMock.VerifyAll();
}
但这有效吗?谢谢大家的好回答!
【问题讨论】:
-
很可能根本没有理由嘲笑,请参阅:stackoverflow.com/questions/56078171/…
标签: c# unit-testing moq