6

Tôi đang cố gắng tích hợp liên tục trên Ứng dụng Windows Store với Jenkins. Jenkins được cài đặt trên một máy Linux (do các dự án khác như iOS và Android). Để quản lý dự án Windows, tôi đã cài đặt một máy xây dựng trên Windows 8 64 bit Pro (dự án WP8 được xây dựng trên máy này). Tôi muốn sử dụng máy này cho Ứng dụng Cửa hàng WIndows của tôi.Tích hợp liên tục cho ứng dụng Windows 8 Store với Jenkins

Lúc đầu, tôi đã xây dựng dự án của mình với msbuild (được sử dụng để tạo thư mục AppPackages). Sau đó, tôi chấp nhận chứng chỉ (.cer) với

CertUtil -addstore root <FILE.cer> 

Sau đó, tôi đã cố gắng sử dụng vstest.console.exe trên ứng dụng (.appx). Điều này thực thi cần phải chạy trong một dịch vụ tương tác, vì vậy tôi đưa ra nó với một exe, có được quyền truy cập vào phiên tương tác và khởi động vstest.console.exe (tôi thực hiện điều này thực thi với bài viết này http://www.codeproject.com/Articles/110568/Alternative-way-for-Window-services-to-interact-wi).

Mặc dù vậy, vstest.console.exe thất bại với thông điệp rằng:

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. 

Khi tôi chạy kịch bản của tôi, mà không sử dụng các dịch vụ Jenkins (hoặc một dịch vụ được xây dựng bởi tôi) nó hoạt động hoàn hảo. Được sử dụng cho Điện thoại Windows 8, kịch bản để thử nghiệm dự án hoạt động hoàn hảo, nhưng không được sử dụng cho ứng dụng Windows 8 Metro.

Có ai quản lý để chạy thử nghiệm đơn vị từ một dịch vụ không?

+0

A) Bạn có đang chạy dòng lệnh với tư cách quản trị viên không? B) Bạn đã cài đặt và cấp phép cho Nhà phát triển chưa? C) Đảm bảo rằng bạn đang chạy 'vstest.console.exe' bằng công cụ'/InIsolation', như phác thảo [ở đây] (http://blogs.msdn.com/b/vikramagrawal/archive/2012/05/ 06/chạy-đơn vị-kiểm tra-cho-windows-metro-style-apps-từ-command-line.aspx). –

+0

A) Tôi chạy dòng lệnh với tư cách quản trị viên. B) Tôi có giấy phép của nhà phát triển bị lỗi và hiện tại trên máy xây dựng C) Tôi chạy vstest.console.exe với/InIsolation. Bạn có quản lý để khởi chạy vstest.console.exe từ một dịch vụ trên một dự án Windows Store không? –

+0

Tôi chưa có cơ hội thử, không. Một trong những người bạn của tôi đã sử dụng TFS để tích hợp liên tục, nhưng tôi thường thực hiện các bài kiểm tra đơn vị của mình theo cách thủ công. Bạn đã thử nó với cả hai vstest.console.exe 32-bit và 64-bit? –

Trả lời

1

Chúng tôi cũng sử dụng Jenkins cho Windows Store App CI bằng cách khởi chạy và công việc MSBuild. Có lẽ đoạn trích này sẽ giúp bạn?

<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

Yêu cầu của máy chủ là gì? Liệu nó có phải là một máy chủ Win 8 hay nó cũng có thể là một Windows 2012 (R2)? Có lẽ bạn cũng biết nếu chúng ta có thể làm Win Phone 8 trên Windows 2012 Server ... –

Các vấn đề liên quan