Как вы запускаете проекты Universal wows (UWP) unit test из командной строки?
Я использую MSTestFramework.
Как вы запускаете проекты Universal wows (UWP) unit test из командной строки?
Я использую MSTestFramework.
Короткий ответ:
vstest.console.exe /Platform:x64 AppPackages\UnitTestProject1_1.0.0.0_x64_Debug_Test\UnitTestProject1_1.0.0.0_x64_Debug.appx
Длинный ответ:
Создайте проект, выбрав шаблон Universal/ Unit Test App (Universal Windows):
Создайте его с помощью командной строки, используя в папке, где файл решения
msbuild /p:Platform=x64;Configuration=Debug
Попробуйте выполнить команду 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.
Чтобы иметь возможность запускать тесты из командной строки, вам нужно использовать сертификат с доверенным корнем или сделать сертификат, сгенерированный визуальной студией, надежным. Для последнего дважды щелкните файл UnitTestProject1_TemporaryKey.pfx
из проводника Windows и выполните шаги мастера по умолчанию мастера импорта, но измените две вещи:
vstest.console.exe
, используя параметры в коротком ответе, и теперь он должен выполнить все ваши тесты.Я последовал за Иваном Мариновым, но мне было нужно чисто командное решение. После того, как вы работаете над проектом UWP Unit Test, и вы готовы к автоматизации, выполните следующие действия:
(Я назвал свое решение Win10Universal и мой проект Unit Test Win10-UnitTests. Вам нужно будет подставить имена в моих примерах своими)
Откройте командную строку в качестве администратора и перейдите в тот же каталог, что и ваше решение.
Запустите MSBuild.exe в своем решении.
>"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" Win10Universal.sln /p:Platform=x86;Configuration=Release
>cd AppPackages/Win10-UnitTests/Win10-UnitTests_1.1.0.0._x86_Test
>"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
>"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
Вы должны увидеть, что тесты вашего устройства перечислены в окне, если вы все сделали правильно! Надеюсь, это поможет!
Далее @Marinov, UWP не поддерживает тестирование приложения в настоящее время. Можно проверить только библиотеку.
Итак, если вы хотите сделать unit test в UWP, вы должны вытащить свои логические коды из проекта приложения и вылить их во вновь созданный проект библиотеки. Проект тестирования и оригинальный проект приложения могут быть указаны позже.