6

Sto provando a fare un'integrazione continua su un'applicazione Windows Store con Jenkins. Jenkins è installato su una macchina Linux (a causa di altri progetti come iOS e Android). Per gestire il progetto Windows ho installato una macchina build su Windows 8 a 64 bit Pro (il progetto WP8 è costruito su questa macchina). Voglio usare questa macchina per la mia applicazione di Store di Windows.Integrazione continua per Windows 8 Store Applicazione con Jenkins

All'inizio, ho creato il mio progetto con msbuild (utilizzato per generare la cartella AppPackages). Allora accetto il certificato (cer) con

CertUtil -addstore root <FILE.cer> 

Dopo di che, ho cercato di usare vstest.console.exe sull'applicazione (.appx). Questo eseguibile deve essere eseguito in un servizio interattivo, quindi l'ho avviato con un altro exe, che ottiene l'accesso alla sessione interattiva e avvia vstest.console.exe (ho reso questo eseguibile con questo articolo http://www.codeproject.com/Articles/110568/Alternative-way-for-Window-services-to-interact-wi).

Nonostante ciò, vstest.console.exe non riuscita con questo messaggio:

Microsoft (R) Test Execution Command Line Tool Version 11.0.60315.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Starting test execution, please wait... 
Error: Failed to launch test executor for the Windows Store app with error code 0. 

Quando eseguo il mio script, senza utilizzare il servizio di Jenkins (o di un servizio realizzato da me) che funziona perfettamente. Utilizzato per un telefono Windows 8, lo script per testare il progetto funziona perfettamente, ma non quando viene utilizzato per l'applicazione Metro di Windows 8.

Qualcuno è riuscito a eseguire test di unità da un servizio?

+0

A) Si sta eseguendo la riga di comando come amministratore? B) Hai una licenza per sviluppatore installata e corrente? C) Assicurati di eseguire 'vstest.console.exe' con l'opzione'/InIsolation', come schema [qui] (http://blogs.msdn.com/b/vikramagrawal/archive/2012/05/ 06/running-unità di test-per-finestre-metro-style-apps-da-comando-line.aspx). –

+0

A) Eseguo la riga di comando come amministratore. B) Ho una licenza per sviluppatore intalled e corrente sul computer di costruzione C) Eseguo vstest.console.exe con/InIsolation. Sei riuscito a lanciare vstest.console.exe da un servizio in un progetto di Windows Store? –

+0

Non ho ancora avuto la possibilità di provare, no. Uno dei miei amici ha utilizzato TFS per l'integrazione continua, ma in genere eseguivo i miei test unitari manualmente. Lo hai provato con entrambi i file vstest.console.exe a 32 bit e 64 bit? –

risposta

1

Usiamo anche Jenkins per CI di Windows Store App avviando e MSBuild lavoro. Forse questo frammento ti aiuterà?

<Target Name="UnitTest" DependsOnTargets="PreTest;Compile" Condition="'$(SkipTests)'=='' and '$(Platform)'=='x86'" > 
    <ItemGroup> 
     <TestAppx Include="$(SolutionDir)\**\*x86*\**\*Tests*.appx" /> 
     </ItemGroup> 

    <Message Importance="high" Text="Running tests for %(TestAppx.Identity)" /> 
      <Exec Command='"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" %(TestAppx.Identity) /InIsolation /platform:x86 /Logger:trx /UseVsixExtensions:true' 
        WorkingDirectory="$(SolutionDir)"/> 
</Target> 
+0

Quali sono i requisiti del server? Deve essere un server Win 8 o può anche essere un Windows 2012 (R2)? Forse sai anche se potremmo fare Win Phone 8 su un Windows 2012 Server ... –

Problemi correlati