Мы пытаемся использовать Fitnesse для нашего Функционального испытания. Я должен дразнить зависимости, или это должно тестировать против базы данных?
Каковы Профессионалы/Недостатки любого из подхода?
Целая проблема тестирования против DB настраивает данные, которые являются огромной зависимостью. Если мы дразним, затем это реальное функциональное испытание?
Спасибо
У нас есть полный набор функциональных тестов, которые проводятся в фитнесе в двух режимах: "InMemory" и "Database", в зависимости от того, в какой конфигурации запускать тесты, диктует, в каких репозиториях использовать тесты. Это имеет ряд преимуществ:
1) Удерживает разработчиков от сборки большого количества функциональности в БД и хранится в коде.
2) При использовании "In-Memory" тесты на фитнес-тестах выполняются очень быстро. Это позволяет очень быстро обвалить тесты... и тем самым ускорить разработку и маневренность. Когда они работают только в db-режиме, это занимает некоторое время.
Я вижу (как минимум) 2 типа тестов, которые можно сделать с помощью Fitnesse:
тесты (или примеры), предназначенные для указания логики или поведения домена. Этими я склоннулся не , чтобы использовать с доступом к базе данных, как это обычно не важно для целей теста.
Случайные (или почти в конце концов) тесты, используемые в качестве регрессии или дымовых испытаний. Эти, очевидно, включают функциональность базы данных.
Преимущество включения БД заключается в том, что тест является более представителем фактической производственной системы, недостаток является дополнительной стоимостью настройки и управления состоянием базы данных. Посмотрите на DBFIT, набор светильников, предназначенных для обеспечения набора и проверки БД.
Я бы предпочел изолировать тесты интеграции с участием БД в NUNIT. Ваши Foncakional Tests не должны потерпеть неудачу, потому что для интеграции проблем. Я нашел более удобным, чтобы нести состояния объекта через простые синглеты, чем дБ.
Я думаю, что он должен тестировать против базы данных. Потому что, как вы выполняете функциональный тест с Fitnesse, вы не будете использовать издевание. Используйте его с базой данных, чтобы узнать фактическую функциональность базы данных, работающую нормально, или нет, поскольку ваша БД будет иметь огромные данные.
Я работал над созданием другой тестовой набор для вещей, связанных с БД, который дает мне больше уверенности, когда я вхожу в другие функциональные возможности. Такие вещи, такие как бизнес-правила, хранящиеся процессы и некоторые основные, но важные таблицы могут быть подтверждены, чтобы убедиться, что они являются там, где они должны быть и рендеринга правильных результатов. Если это как ожидалось, то то, что вы видите на переднем конце, должны быть твердой средой, чтобы сделать тесты функциональности