6

के साथ विंडोज 8 स्टोर एप्लिकेशन के लिए निरंतर एकीकरण मैं जेनकींस के साथ एक विंडोज स्टोर एप्लिकेशन पर निरंतर एकीकरण करने की कोशिश कर रहा हूं। जेनकींस एक लिनक्स मशीन पर स्थापित है (आईओएस और एंड्रॉइड जैसी अन्य परियोजनाओं के कारण)। विंडोज प्रोजेक्ट को प्रबंधित करने के लिए मैंने विंडोज 8 64 बिट्स प्रो पर एक बिल्ड मशीन स्थापित की है (WP8 प्रोजेक्ट इस मशीन पर बना है)। मैं इस मशीन का उपयोग अपने विन्डोज़ स्टोर एप्लिकेशन के लिए करना चाहता हूं।जेनकिंस

शुरुआत में, मैंने अपनी परियोजना को एमएसबिल्ड (ऐपपैकेज फ़ोल्डर जेनरेट करने के लिए उपयोग किया) के साथ बनाया। तब मैं

CertUtil -addstore root <FILE.cer> 

उसके बाद के साथ प्रमाण पत्र (.cer) स्वीकार करते हैं, मैं आवेदन (.appx) पर vstest.console.exe का उपयोग करने की कोशिश की। इस निष्पादन योग्य को एक इंटरैक्टिव सेवा में चलाने की जरूरत है, इसलिए मैंने इसे एक और एक्सई के साथ लॉन्च किया, जो इंटरैक्टिव सत्र पर पहुंच प्राप्त करता है और vstest.console.exe लॉन्च करता है (मैंने इस आलेख को http://www.codeproject.com/Articles/110568/Alternative-way-for-Window-services-to-interact-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. 

जब मैं अपने स्क्रिप्ट चलाने, जेनकींस सेवा (या मेरे द्वारा बनाया गया एक सेवा) का उपयोग किए बिना यह पूरी तरह काम करता है। विंडोज 8 फोन के लिए प्रयुक्त, प्रोजेक्ट का परीक्षण करने के लिए स्क्रिप्ट पूरी तरह से काम करती है, लेकिन जब विंडोज 8 मेट्रो एप्लिकेशन के लिए उपयोग नहीं किया जाता है।

क्या कोई भी सेवा से यूनिट परीक्षण चलाने में कामयाब रहा है?

+0

ए) क्या आप कमांड लाइन को व्यवस्थापक के रूप में चला रहे हैं? बी) क्या आपके पास डेवलपर का लाइसेंस स्थापित और चालू है? सी) सुनिश्चित करें कि आप 'vInest.console.exe' को'/InIsolation' स्विच के साथ चला रहे हैं, जैसा कि रूपरेखा [यहां] (http://blogs.msdn.com/b/vikramagrawal/archive/2012/05/ मेट्रो-शैली-क्षुधा-से-आदेश-line.aspx चल-यूनिट-परीक्षण के लिए विंडोज़) 06 /। –

+0

ए) मैं कमांड लाइन व्यवस्थापक के रूप में चलाता हूं। बी) मेरे पास बिल्डर सी पर डेवलपर का लाइसेंस अंतर्निहित और चालू है सी) मैं vstest.console.exe को/InIsolation के साथ चलाता हूं। क्या आपने Windows स्टोर प्रोजेक्ट पर किसी सेवा से vstest.console.exe लॉन्च करने का प्रबंधन किया था? –

+0

मुझे अभी तक कोशिश करने का मौका नहीं मिला है, नहीं। मेरे दोस्तों में से एक ने निरंतर एकीकरण के लिए टीएफएस का उपयोग किया है, लेकिन मैं आम तौर पर मैन्युअल रूप से अपने यूनिट परीक्षण कर रहा हूं। क्या आपने इसे 32-बिट vstest.console.exe और 64-बिट दोनों के साथ करने की कोशिश की है? –

उत्तर

1

हम लॉन्चिंग और एमएसबिल्ड जॉब द्वारा विंडोज स्टोर ऐप सीआई के लिए जेनकींस का भी उपयोग करते हैं। शायद यह स्निपेट आपकी मदद करेगा?

<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

सर्वर आवश्यकताएं क्या हैं? क्या यह एक विन 8 सर्वर होना चाहिए या यह विंडोज 2012 (आर 2) भी हो सकता है? शायद आप यह भी जानते हैं कि क्या हम विंडोज 2012 सर्वर पर विन फोन 8 कर सकते हैं ... –