Как выполнить модульное тестирование функции управления машиной или функции управления промежуточным программным обеспечением - PullRequest
0 голосов
/ 18 ноября 2010

Моя программа (сервер) подключается к клиенту через некоторое промежуточное программное обеспечение.
Я сделал в своей программе функцию инициализации midleware.

init_middleware()
{
  if (middle-ware can not started) // then middle-ware throw exception
    return exception;
  else
    return success;
}

Как я могу протестировать функцию init_middleware?

Я думаю, что функция init_middleware имеет только одно условие отказа, когда промежуточное ПО не может быть запущено. Но я не могу заставить это состояние возникнуть в модульном тесте.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2010

Это зависит от того, что вы хотите проверить.

Проверка функции init_middleware ()

Если вы хотите проверить функцию init_middleware(), можно выбрать для объекта Mock middle-ware. Объект Mock возвращает значения, которые вам необходимы для полного покрытия функции.

Проверка промежуточного объекта

Если вы хотите протестировать сам объект middle-ware, на самом деле осталось не так много, но на самом деле использует реальный объект . Это не будет называться юнит-тестом, а будет интеграцией или даже системой тестом.

0 голосов
/ 18 ноября 2010

В строгих условиях модульного тестирования вы не должны этого делать. Промежуточное ПО - это внешний ресурс, как и ваш диск, сеть, даже базы данных. Поскольку эти вещи лежат за пределами вашего кода (который вы тестируете), реальный модульный тест не должен включать в себя подобные вещи.

Замените код доступа промежуточного программного обеспечения заглушкой, или, если вам нужна реальная обратная связь с ним, используйте Mocks, как предложил Ливен.

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