Member 12750312 Ответов: 1

Как использовать mstest для создания исполняемого файла интеграционного теста


Привет, мое понимание MSTest очень ограничено, так что это может быть необоснованный вопрос, или я сейчас использую правильные ключевые слова в поиске Google. На самом деле это не вопрос кода, а скорее вопрос настройки решения.

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

В некотором смысле это текстовая схема того, что я имею в виду.
[Интеграционная программа] <-> [тестируемые услуги] < - > [интеграционная программа]
Это означает, что я посылаю начальное сообщение, получаю желаемый ответ, а затем отвечаю на ответ, возвращающийся через цикл.

К сожалению, эти службы тесно связаны, поэтому их можно считать тестируемыми одновременно.

Причина, по которой я пытаюсь это сделать, заключается в том, чтобы избежать создания проприетарной системы тестирования.

Что я уже пробовал:

То, что я сейчас попробовал, - это решение с двумя проектами под ним. 1-это проект MSTest (Unit Test), а другой-это API, которые действительно могут подключаться к концам тестируемых сервисов.

Моя путаница заключается в том, как бы я запустил тесты в рамках проекта mstest, чтобы выполнить и использовать возможность других проектов подключаться и отправлять сообщения/проверять ответы?

Является ли эта установка вообще допустимой или я должен использовать другой подход?

[no name]

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

Member 12750312

Спасибо за быстрый ответ NotPolitcallyCorrect. Я понимаю, что был слишком туманен в своем вопросе. Службы, которые я хотел бы протестировать, все связаны друг с другом через TCP, как и приложение, которое я использую для подключения на обоих концах тестируемого "черного ящика"/служб.

У меня есть две проблемы. Нужно ли будет скопировать код подключения в проект MSTest и может ли проект MSTest работать как стандартный файл. exe, который можно вызвать при запуске и выводе результатов?

[no name]

Я понятия не имею. Отсюда я не вижу архитектуру вашего проекта. Только ты можешь ответить на этот вопрос. Ваш тестовый код должен будет каким-то образом ссылаться на ваш API.

Модульные тесты обычно упаковываются в библиотеки DLL, а не в EXEs.

1 Ответов

Рейтинг:
0

Bernhard Hiller

Более важный вопрос: где будут проходить эти тесты?
Я бы интегрировал их в систему непрерывной интеграции (Jenkins или Team Foundation Server). После успешной сборки и модульных тестов запустите виртуальную машину, установите и запустите необходимые службы, скопируйте туда свои тестовые библиотеки DLL и запустите тесты, вызвав mstest.