Запуск универсальных модульных тестов Windows из командной строки

unit-testing mstest uwp

4745 просмотра

3 ответа

Как вы запускаете проекты модульного тестирования Universal Windows (UWP) из командной строки?

Я использую MSTestFramework.

Автор: James Newton-King Источник Размещён: 12.11.2019 09:52

Ответы (3)


23 плюса

Решение

Краткий ответ:

vstest.console.exe /Platform:x64 AppPackages\UnitTestProject1_1.0.0.0_x64_Debug_Test\UnitTestProject1_1.0.0.0_x64_Debug.appx

Длинный ответ:

  1. Создайте проект, выбрав шаблон Universal / Unit Test App (Universal Windows):

    введите описание изображения здесь

  2. Создайте его с помощью командной строки, используя в папке, где находится файл решения

    msbuild /p:Platform=x64;Configuration=Debug

  3. Попробуйте выполнить vstest.console.exeкоманду выше, в кратком ответе. Это не удастся, выдав следующее сообщение об ошибке:

    error 0x800B0109: The root certificate of the signature in the app package or bundle must be trusted..
    For more details look into Event Viewer under Applications and Services Logs -> Microsoft -> Windows -> AppXDeployment-Server -> Microsoft-Windows-AppXDeploymentServer/Operational.
    
  4. Чтобы иметь возможность запускать тесты из командной строки, вам нужно использовать сертификат с доверенным корнем или сделать сертификат, сгенерированный Visual Studio, надежным. Для последнего дважды щелкните UnitTestProject1_TemporaryKey.pfxфайл в проводнике Windows и следуйте инструкциям мастера импорта по умолчанию, но измените две вещи:

    • Установите расположение магазина на локальный компьютер: введите описание изображения здесь
    • Разместите сертификат в хранилище доверенных корневых центров сертификации: введите описание изображения здесь
    • При завершении работы мастера должно появиться сообщение «Импорт выполнен успешно».
  5. Попробуйте запустить, vstest.console.exeиспользуя параметры в кратком ответе, и теперь он должен запустить все ваши тесты.
Автор: Ivan Marinov Размещён: 19.11.2015 03:10

6 плюса

Я последовал ответу Ивана Маринова, но мне нужно было чисто командное решение. После того, как ваш UWP Unit Test Project заработал и вы готовы к автоматизации, выполните следующие действия:

(Я назвал свое решение Win10Universal и мой проект модульного тестирования Win10-UnitTests. Вам нужно будет заменить имена в моих примерах на свои)

  1. Откройте командную строку от имени администратора и перейдите в тот же каталог, что и ваше решение.

  2. Запустите MSBuild.exe для вашего решения.

>"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" Win10Universal.sln /p:Platform=x86;Configuration=Release

  1. В процессе сборки будет создан каталог, аналогичный {SolutionDirectory} / AppPackages / {UnitTestTargetProjectName} / {Something_Test} . Перейдите в этот каталог, и внутри вы увидите сертификат безопасности .cer.

>cd AppPackages/Win10-UnitTests/Win10-UnitTests_1.1.0.0._x86_Test

  1. Запустите CertMgr.exe для этого сгенерированного сертификата. Этот шаг не будет выполнен, если вы не запускаете командную строку с правами администратора.

>"C:\Program Files (x86)\Windows Kits\10\bin\x86\certmgr.exe" -add Win10-UnitTests_1.1.0.0_x86_Release.cer -s -r localmachine root

  1. Запустите VSTest.Console.exe для файла .appx в этом каталоге.

>"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" Win10-UnitTests_1.1.0.0_x86_Release.appx /Platform:x86

Вы должны увидеть свои юнит-тесты, перечисленные в окне, если вы все сделали правильно! Надеюсь это поможет!

Автор: Kylaaa Размещён: 04.04.2017 06:36

0 плюса

Вслед за @Marinov, UWP в настоящее время не поддерживает тестирование приложения . Только библиотека может быть проверена.

Итак, если вы хотите выполнить модульное тестирование в UWP, вам нужно извлечь свои логические коды из проекта App и вставить их во вновь созданный проект библиотеки. На тестовый проект и оригинальный проект приложения можно ссылаться впоследствии.

Автор: Youngjae Размещён: 29.04.2016 04:42
Вопросы из категории :
32x32