Модульное тестирование пустых методов? - PullRequest
145 голосов
/ 29 октября 2008

Каков наилучший способ модульного тестирования метода, который ничего не возвращает? В частности, в C #.

Что я действительно пытаюсь проверить, так это метод, который берет файл журнала и анализирует его на предмет определенных строк. Строки затем вставляются в базу данных. Ничего из того, что не было сделано раньше, но, будучи ОЧЕНЬ новичком в TDD, мне интересно, возможно ли это проверить или это то, что на самом деле не тестировали.

Ответы [ 11 ]

0 голосов
/ 27 февраля 2017

Какой бы экземпляр вы ни использовали для вызова метода void, вы можете просто использовать, Verfiy

Например:

В моем случае _Log - это экземпляр, а LogMessage - метод, который нужно протестировать:

try
{
    this._log.Verify(x => x.LogMessage(Logger.WillisLogLevel.Info, Logger.WillisLogger.Usage, "Created the Student with name as"), "Failure");
}
Catch 
{
    Assert.IsFalse(ex is Moq.MockException);
}

Является ли Verify сгенерированным исключением из-за сбоя метода, который тест провалит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...