【发布时间】:2019-05-11 22:46:14
【问题描述】:
我正在单元测试中尝试以下操作:
var sut = new MyClass(dependentOne.Object, dependentTwo.Object);
Action act = () => sut.DoSomething();
// Assert
dependentOne.Verify(m => m.MethodOne(), Times.Once);
dependentTwo.Verify(m => m.MethodTwo(), Times.Once);
act.Should().NotThrow<Exception>();
看起来像MethodOne()和MethodTwo()这两个方法在DoSomething()中被调用根本没有被调用,但是如果我直接调用而不使用Action,这些方法就会被调用。
sut.DoSomething();
虽然我还没有具体说明方法和初始化的定义,但是上面的代码sn-p应该足以说明情况了。那么,Action act = () => sut.DoSomething(); 不应该实际调用这些方法以使验证按预期工作吗?
【问题讨论】:
标签: c# .net unit-testing moq fluent-assertions