Модульное тестирование Visual Studio: получить данные из другого теста? - PullRequest
0 голосов
/ 16 февраля 2012

Я довольно плохо знаком с модульным тестированием, поэтому, пожалуйста, дайте мне знать, если я поступаю неправильно.

По сути, у меня есть куча тестов, которые я выполняю для связанной группы методов. Я хотел бы проверить, правильно ли работают методы getAll() save() и get(Id). Проблема в том, что, если функция save() работает, я не совсем уверен, как получить результирующий идентификатор элемента в тест, который выполняется с методом get(Id).

Я на правильном пути или нарушаю какое-то правило о том, как должны работать модульные тесты? Какие механизмы доступны для меня, используя модульные тесты Visual Studio?

1 Ответ

1 голос
/ 06 августа 2012

Есть два способа продолжить.Во-первых, вы можете написать 3 независимых теста для проверки каждой функции в отдельности.Преимущество этого метода тестирования заключается в лучшей детализации, когда что-то идет не так.Например, используя метод 3-test, вы можете получить результаты, которые показывают, что 2/3 метода (такие как save и getAll) работают, а другой метод не работает.

Другой способ продолжить будетнаписать один тест, который выполняет (и тестирует) все три метода в одном тесте.Этот подход скажет вам только первое, что не удалось, что может быть достаточно для вас.

Стоит отметить, что этот сценарий подразумевает прикосновение к базе данных во время выполнения теста, что я очень не рекомендую.Если это так, я вместо этого написал бы тесты в форме «когда я получаю (), тогда генерируется следующий код доступа к базе данных (такой как T-SQL) ...», а не выполнял бы запрос базы данных кбаза данных.

[TestMethod]
public void TestGetAll( )
{
   Assert.areEqual("SELECT * FROM People", People.CreateSQLForGetAll());
}

Подробнее об этой методике модульного тестирования здесь .

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