Получить аргументы командной строки в модульном тесте

В тестовом проекте в Visual Studio 2008 (Pro) я создал тестовый проект и хочу настроить свойства проекта для предоставления аргументов командной строки для тестов. Я установил свойства, но потом понял, что понятия не имею, как на самом деле использовать аргумент.

Как вы получаете аргументы от MSTest?

2 ответа

Решение

Тест VS 2008 скомпилирован в библиотеки DLL, которые, насколько я знаю, не могут напрямую получать аргументы командной строки.

Вы можете добавить файл конфигурации "app.config" для DLL и использовать его вместо этого.

Только будьте осторожны, mstest копирует только файлы.config для тестового контейнера, запускаемого в данный момент.

если у вас есть следующее...

mytest.dll
mytest.dll.config
lib.dll
lib.dll.config

и вы ссылаетесь на lib.dll из mytest.dll, когда вы запускаете тесты, lib.dll.config не будет скопирован, и ваш тест может провалиться из-за этого.

Возможно, вы можете использовать GetCommandLine().

Редактировать: GetCommandLine() - это win32-функция, но для нее должна быть соответствующая.Net-функция.

Другие вопросы по тегам