Передача параметра в MSTests с использованием MSBuild - PullRequest
0 голосов
/ 20 января 2009

У меня есть проблема, которая интересовала, может ли быть решена определенным образом.

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

Этот параметр будет использоваться в качестве условия при настройке TestFixture в MSTest, чтобы решить, какую конкретную реализацию класса использовать. Это будет фиктивная версия при работе на сервере сборки и ссылка на физический актив при работе на компьютере разработчика.

Это легко возможно? Я мог бы установить переменную окружения, но предпочел бы, чтобы в MSTest и MSBuild было что-то конкретное, что можно было бы использовать.

Ответы [ 2 ]

1 голос
/ 11 мая 2009

Самый простой способ сделать это - написать файлы конфигурации. Есть задачи сообщества MsBuild, которые делают это возможным.

0 голосов
/ 20 января 2009

Как правило, xUnit, тесты должны не принимать параметры. Они должны просто работать без кого-то, чтобы настроить их.

public void TestMethodName()

Кажется, ваша потребность больше направлена ​​на внедрение зависимостей . Для каких фреймворков, таких как Spring.Net , лучше всего подойдет.

Обновление:
Из вашего комментария кажется, что все, что вам нужно, это переключатель, похожий на #define BUILD. Попробуйте символы условной компиляции («Настройки проекта»> «Сборка») в сочетании с методом ReplaceCollaboratorsForBuildServer, который украшен ConditionalAttribute и вызывается в конце метода установки testFixture.

...