// verify () проходит, даже если я не вызываю метод SaveNewPersonAsyn c ()
Это потому, что вы вызываете его здесь (mock.Object.LogMessage("test")
):
Assert.AreEqual(true, mock.Object.LogMessage("test"));
Метод называется, поэтому он проходит фиксацию, даже если вы не вызываете SaveNewPersonAsync()
. Удалите строку выше, и вы получите ожидаемое поведение.
Кроме того, если ваш метод не возвращает никакого значения, вам не нужно его настраивать.
Окончательный код должен быть:
// Create the mock
var mock = new Mock<ILogger>();
// perform the db saving here
var dataproc = new DataProcessor(mock.Object, new UserDbMongo(), new ParsingManager());
await dataproc.SaveNewPersonAsync(GenerateJsonData("CocaColaParser"));
mock.Verify(x => x.LogMessage("test")); // now it should behave as you expect