Сгенерировать исполняемый exe-файл из теста MSTest

У меня есть [TestMethod] в тестовом проекте визуальной студии. Если я соберу проект, я получу dll. Я не хочу запускать тесты из пользовательского интерфейса визуальной студии.

  1. Есть ли способ создать exe-файл тестового проекта, чтобы я мог запускать тесты из командной строки?

  2. Если я изменю тип проекта с библиотеки классов на консольное приложение, для него потребуется основная функция. Есть ли способ вызвать TestMethod из Main()?


person Arjun K R    schedule 27.09.2012    source источник
comment
Что именно ты пытаешься сделать? Модульные тесты предназначены для запуска в коде, внутри Visual Studio, а также на сервере автоматизированной сборки.   -  person Mike Perrenoud    schedule 27.09.2012
comment
..то есть, если вы не решите написать свою собственную утилиту, которая обрабатывает методы, отмеченные TestMethodAttribute в данной сборке..   -  person Simon Whitehead    schedule 27.09.2012


Ответы (4)


У вас уже должен быть EXE-файл, который может выполнять ваши тесты — mstest.exe. Если вам нужно запускать тесты вне Visual Studio — и вы не используете какое-то решение для автоматизации сборки, которое уже может сделать это за вас — вы можете вызвать mstest.exe и заставить его выполнить ваши тесты.

http://msdn.microsoft.com/en-us/library/ms182489(VS.100).aspx

person Ian Gilroy    schedule 27.09.2012
comment
Я понял... mstest /testcontainer:[file.dll] Спасибо. - person Arjun K R; 27.09.2012

Вы можете запускать модульные тесты внутри Visual Studio через меню: Test -> Run -> ...

Два варианта: - Тесты в текущем контексте - Все тесты

Контекст может быть либо на уровне проекта, либо на уровне класса, либо на уровне метода. Зависит от того, где вы поместили маркер внутри тестового класса или выбрали ли вы класс/файл/проект в обозревателе решений.

Вы можете использовать комбинацию горячих клавиш CTRL + R, T для запуска тестов в текущем контексте или CTRL + R, A для запуска всех тестов.

РЕДАКТИРОВАТЬ: ссылка на комментарий.

person scheien    schedule 27.09.2012
comment
Как запустить тесты вне визуальной студии? Как сгенерировать exe тестового проекта? - person Arjun K R; 27.09.2012

Я думаю, что вам нужно какое-то программное обеспечение для автоматизации тестирования. Моя компания использует Jenkins. Работает действительно хорошо, и вы также можете использовать его вместе с программным обеспечением для контроля версий, чтобы запускать тесты, когда кто-то что-то регистрирует.

person memory of a dream    schedule 27.09.2012
comment
Не автоматизация. Если у меня есть набор тестовых случаев, как запустить их с помощью командной строки или пакетного файла? - person Arjun K R; 27.09.2012

Вы можете использовать TFS — Microsoft Team Foundation Server, автономную серверную систему приложений для создания проекта и запуска внутри него тестов.

Также вы можете запустить их внутри Visual Studio (меню Tests -> Run -> ...).

person abatishchev    schedule 27.09.2012