Windows 8商店应用程序与Jenkins的持续集成

Col*_*iès 6 service unit-testing visual-studio jenkins windows-store-apps

我正在尝试使用Jenkins在Windows应用商店应用程序上进行持续集成.Jenkins安装在Linux机器上(由于iOS和Android等其他项目).为了管理Windows项目,我在Windows 8 64位Pro上安装了一台构建机器(WP8项目是在这台机器上构建的).我想将这台机器用于我的WIndows商店应用程序.

开始时,我用msbuild构建了我的项目(用于生成AppPackages文件夹).然后我接受证书(.cer)

CertUtil -addstore root <FILE.cer>
Run Code Online (Sandbox Code Playgroud)

之后,我尝试在应用程序(.appx)上使用vstest.console.exe.这个可执行文件需要在一个交互式服务中运行,所以我用另一个exe启动它,它可以访问交互式会话并启动vstest.console.exe(我用这篇文章http://www.codeproject.com/制作了这个可执行文件)文章/ 110568 /替代方式 - 窗口服务 - 互动 - wi).

尽管如此,vstest.console.exe失败了该消息:

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.
Run Code Online (Sandbox Code Playgroud)

当我运行我的脚本,而不使用Jenkins服务(或由我建立的服务)时,它完美地运行.用于Windows 8 Phone,用于测试项目的脚本运行良好,但在用于Windows 8 Metro应用程序时则不行.

有没有人设法从服务运行单元测试?

Jon*_*Rea 1

我们还通过启动 MSBuild 作业来使用 Jenkins 进行 Windows 应用商店应用程序 CI。也许这个片段会对您有所帮助?

<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>
Run Code Online (Sandbox Code Playgroud)