Come si eseguono i progetti di test dell'unità Universal Windows (UWP) dalla riga di comando?Esecuzione di test di unità Universal Windows dalla riga di comando
Sto utilizzando MSTestFramework.
Come si eseguono i progetti di test dell'unità Universal Windows (UWP) dalla riga di comando?Esecuzione di test di unità Universal Windows dalla riga di comando
Sto utilizzando MSTestFramework.
Risposta breve:
vstest.console.exe /Platform:x64 AppPackages\UnitTestProject1_1.0.0.0_x64_Debug_Test\UnitTestProject1_1.0.0.0_x64_Debug.appx
Risposta lunga:
Creare il progetto selezionando Universal/Unità Test App (Universal Windows) modello:
Costruiscila con la riga di comando usando in th e cartella in cui il file di soluzione è
msbuild /p:Platform=x64;Configuration=Debug
provare a eseguire il comando vstest.console.exe
sopra, in risposta breve. Fallirà, dando il seguente messaggio di errore:
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.
Per essere in grado di eseguire test da linea di comando, è necessario utilizzare un certificato che ha fiducia radice, o fare il certificato che ha generato da Visual Studio di fiducia. Per questi ultimi, fare doppio clic UnitTestProject1_TemporaryKey.pfx
file da Windows Explorer, e seguire le istruzioni predefinite della procedura guidata di importazione, ma cambiare due cose:
vstest.console.exe
utilizzando i parametri nella risposta breve e ora dovrebbe eseguire tutti i test.Seguito da @Marinov, UWP non supporta il test dell'applicazione attualmente. Solo la libreria può essere testabile.
Quindi, se si vuole fare test di unità in UWP, si deve tirare i vostri codici di logica fuori dal progetto di App e versarli nel progetto di libreria appena creata. Il progetto di test e il progetto dell'app originale potrebbero essere referenziati in seguito.
Ho seguito la risposta di Ivan Marinov, ma avevo bisogno di una soluzione puramente a linea di comando. Una volta che il tuo UWP Unit Test Project funziona e sei pronto per automatizzare, segui questi passaggi:
(Ho chiamato la mia soluzione Win10Universal e il mio progetto di test unitario Win10-UnitTests.Sarà necessario sostituire i nomi nei miei esempi con il proprio)
Aprire il prompt dei comandi come amministratore e andare nella stessa directory come soluzione.
Eseguire MSBuild.exe sulla soluzione.
>"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
Si dovrebbe vedere il test di unità elencate nella finestra se hai fatto tutto giusto! Spero che questo ti aiuti!
Soluzione molto utile. Questo mi ha fatto risparmiare un sacco di tempo, grazie! – toroveneno