Как использовать внешние данные в модульных тестах? - PullRequest
3 голосов
/ 23 июня 2009

У меня есть много модульных тестов, которым нужно много txt, data, html и др. Файлов. Внешнее хранение этих файлов значительно упрощает обновление тестовых наборов, добавляя новые тестовые наборы и т. Д.

Однако наличие зависимостей в модульных тестах приносит много головной боли в разных системах и у разных участников тестирования.

Каковы лучшие практики?

  1. Внешне хранит их и относительно связывания этих файлов в код? ( вызывает проблемы в некоторых бегунов или требует дополнительных конфигурации )
  2. Встраивание всех этих файлов в Модульный тест dll и чтение оттуда ( усложняет создание тестов )
  3. Хранение в жестком коде местоположение (, очевидно, вызывает так много проблемы при проверке кода в другом месте )

Как вы решаете эту проблему?

Ответы [ 2 ]

3 голосов
/ 23 июня 2009

Я использую локальную папку в своем тестовом проекте и получаю тестовые файлы с кодом, подобным:

public static FileInfo GetTestFileInfo(string fileName)
{
    var dir = AppDomain.CurrentDomain.BaseDirectory;
    return new FileInfo(dir + @"\..\..\TestData\" + fileName);
}

О да, я использую MbUnit.

0 голосов
/ 23 июня 2009

Моя практика заключалась в том, чтобы встраивать тестовые ресурсы в сборки модульных тестов и извлекать их, используя GetManifestResourceStream .

NUnit-тестирование в любом случае ориентировано на приспособление, поэтому, если у вас есть настроенное устройство (, т. Е. , определенный набор ресурсов), добавить дополнительные тесты легко.

...