TFS, тестирование и размещение тестовых файлов (где) - PullRequest
3 голосов
/ 17 июня 2010

Я сейчас экспериментирую с TFS, и мне очень нравится.
Один маленький вопрос, касающийся тестовых файлов:

У меня есть каталог с некоторыми демонстрационными TXT, изображениями, директориями ... Они используются во время тестов, поэтому до сих пор путь был жестко запрограммирован в папку на моем компьютере. Теперь мне нужно это изменить, конечно, TFS тоже нужен доступ к файлам.

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

  • Папка с решениями
    • mysol.sln
    • SomeProjectDir
    • OtherProjectDir
    • _LIB для внешних .dll
    • _DEMO_FILES для тестовых файлов

Вся папка решения находится под контролем исходного кода. Вы бы сделали это так же? Как самый лучший и элегантный способ получить «реальный» путь к папке для использования в модульных тестах? Используя путь выполнения, отсекая все остальное? Принадлежат ли тестовые файлы под контролем исходного кода?

Спасибо за любой вклад,
Chris

РЕДАКТИРОВАТЬ: Помимо подсказки, приведенной в ответе, имейте в виду, что с тестированием есть некоторые подводные камни с этим. Тест выполняется в другой папке (часто называемой по какому-то временному коду), тестовые файлы не копируются туда автоматически. Даже если они настроены на копирование всегда.

Решение состоит в том, чтобы либо добавить файлы вручную с помощью атрибута DeploymentItem в модульном тесте, либо, на мой взгляд, намного лучше, настроить Local.testsettings и добавить туда папку. Имейте в виду, сама папка не будет добавлена, поэтому вам нужно сделать это на один уровень выше ..

Вы поймете, что я имею в виду, если попробуете. Или поищите DeploymentItem в Google

1 Ответ

4 голосов
/ 17 июня 2010

тестовые файлы являются частью вашего проекта, поэтому нет НИКАКОЙ причины не пускать их в систему контроля версий.Вы должны передать в систему контроля версий все, что необходимо для сборки, тестирования и запуска вашей системы, включая сторонние библиотеки, файлы конфигурации, тестовые файлы и даже, возможно, документацию.Обратите внимание, что большинство из этих вещей также должны быть частью вашего решения Visual Studio.

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

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