Я пытаюсь сделать следующее в моем модульном тесте:
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();
Хотя я не конкретизировал определение методов и инициализации, но приведенного выше фрагмента кода должно быть достаточно для объяснения ситуации.Итак, разве Action act = () => sut.DoSomething();
не должен на самом деле вызывать методы, чтобы Verify работал должным образом?