Может ли AppHarbor установить символ условной компиляции во время сборки? - PullRequest
3 голосов
/ 22 февраля 2012

Может ли AppHarbor установить символ условной компиляции во время сборки?Может быть просто: AppHarbor

У меня есть несколько тестов, которые не могут быть запущены на сервере (они основаны на файлах тестовых данных).

Если AppHarbor может установить символ условной компиляции, то я мог бы добавитьатрибут [Игнорировать] в тесте, когда этот символ присутствует.

Или есть ли лучший или иной способ игнорировать определенные тесты при работе в AppHarbor?

Или есть способчтобы тестовый код правильно ссылался на файл тестовых данных, находящийся в проекте?

Спасибо!Глен

Редактировать: Я получил свой тест для работы, включив файл данных в качестве ресурса в тестовый проект.Не идеально, но пока хорошо.Тем не менее, хотелось бы знать, могут ли символы компиляции быть установлены, как описано.

Ответы [ 2 ]

4 голосов
/ 22 февраля 2012

Установка символа компиляции «AppHarbor» является интересным предложением, но в настоящее время он не поддерживается в AppHarbor. Возможно, вы захотите добавить его как запрос функции .

При выполнении ваших тестов Environment appSetting устанавливается на test. Вы можете использовать это условно, чтобы пропустить определенные тесты. Если вы предпочитаете иметь собственную конфигурацию, вы можете использовать файл Web.Test.Config для применения любых необходимых преобразований, которые позволят вам определить, следует ли запускать тесты.

Оба подхода описаны в этой статье .

Обычно я рекомендую избегать использования файлов, которых нет при запуске тестов. Это также заставит приложение работать в любой среде CI. Включение файла в качестве встроенного ресурса, как вы описываете, является опцией, но также должна быть возможность включить его в ваш проект со свойством Build Action, установленным на Content, и оно будет доступно в выходном каталоге.

0 голосов
/ 14 марта 2013

Хочу добавить к ответу @runesorensen: каждый тестовый проект, в котором вы хотите игнорировать тесты, должен иметь файл app.config, в противном случае настройка приложения «Environment» будет нулевой.

...