unit testing एक्सएसएलटी यूनिट परीक्षण




unit-testing xslt (5)

यहां कुछ सरल समाधान दिए गए हैं:

  • एक नकली एक्सएमएल फ़ाइल के साथ xsltproc का प्रयोग करें:

    xsltproc test.xsl mock.xml
    
  • एक्सएसएलटी कुकबुक - अध्याय 13

  • एक document() प्लेसहोल्डर चर बनाएँ और इसे मैन्युअल रूप से टिप्पणी / टिप्पणी करें:

    <xsl:variable name="Data" select="descendant-or-self::node()"/>
    <!-- 
    <xsl:variable name="Data" select="document('foo.xml')" />
    -->
    <xsl:if test="$Data/pagename='foo'">
      <p>hi</p>
    </xsl:if>
    
  • टिप्पणी प्रोग्रामेटिक रूप से स्वैप करने के लिए एक शर्त बनाएं:

        <xsl:variable name="Data">
          <xsl:choose>
            <!-- If source XML is inline -->
            <xsl:when test="descendant-or-self::node()/pageName='foo'"/>
             <xsl:value-of select="descendant-or-self::node()"/>
            </xsl:when>
            <!-- If source XML is external -->
            <xsl:otherwise>
             <xsl:value-of select="document('foo.xml')" />
            </xsl:otherwise>
          </xsl:choose>
        </xsl:variable>              
    

परीक्षण को स्वचालित रूप से स्वचालित करने के लिए निर्माण में प्रोग्रामेटिक रूप से डेटा को रेखांकित करने के लिए एक शेल स्क्रिप्ट का उपयोग करें।

संदर्भ

किसी को पता है कि कोई तरीका है कि हम एक्सएसएलटी परिवर्तन के लिए यूनिट परीक्षण लिख सकते हैं। मेरे पास एक्सएसएलटी फाइलों के लिए बहुत कुछ है और मैन्युअल रूप से उनका परीक्षण करना मुश्किल हो रहा है। मुझे पता है कि हमारे पास नमूना एक्सएमएल हो सकता है और एक्सएसएलटी के आउटपुट के साथ इसकी तुलना कर सकता है, लेकिन मैं उनका परीक्षण करने के लिए एक बेहतर तरीका ढूंढ रहा हूं।

धन्यवाद...


मैं वर्तमान में ऐसा करने के लिए कुछ अच्छे विकल्प ढूंढ रहा हूं। नतीजतन, मैं इस सवाल, और कुछ अन्य संभावित उम्मीदवार समाधानों में आया था। माना जाता है कि मैंने अभी तक उनमें से किसी की भी कोशिश नहीं की है, इसलिए मैं उनकी गुणवत्ता से बात नहीं कर सकता, लेकिन कम से कम वे कुछ अन्य मार्ग हैं जो संभावित रूप से शोध करने योग्य हैं।

  1. जेनी टेनिसन यूनिट परीक्षण पैकेज
  2. यूटीएफ-एक्स यूनिट परीक्षण फ्रेमवर्क
  3. Juxy
  4. XTC

इसके अतिरिक्त, मैंने यूनिट परीक्षण XSLT के लिए सामान्य पद्धति के संदर्भ में निम्न आलेख को जानकारीपूर्ण पाया है।

यूनिट परीक्षण एक्सएसएल परिवर्तन



मैं इस उपकरण का उपयोग कर रहा हूँ: jxsltunit

परीक्षण को एक एक्सएमएल फ़ाइल द्वारा परिभाषित किया जाता है जिसे तब टूल में पास किया जाता है। यह परीक्षण विन्यास का एक उदाहरण है:

<xsltTestsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="jxsltunit jxslttestsuite.xsd" xmlns="jxsltunit"
    description="Testsuite Test"
    xml="min-test.xml"
    xslt="min-test.xslt"
    path="pa > ch">
    <xsltTestcase match_number="0">
        <![CDATA[<ch>child 1</ch>]]>
    </xsltTestcase>
    <xsltTestcase match_number="1">
        <![CDATA[<ch>child 2</ch>]]>
    </xsltTestcase>
</xsltTestsuite>

यह एक्सएमएल, एक्सएसएल और रूपांतरित एक्सएमएल में एक पथ लेता है जिसे परीक्षण किया जाता है। पथ में एक सूची हो सकती है जिसे तत्वों को उनकी अनुक्रमणिका द्वारा पहचाना जाता है।

इस उपकरण का एक लाभ यह है कि यह परिणामों को जूनिट एक्सएमएल फ़ाइल के रूप में आउटपुट कर सकता है। आपके परीक्षण परिणामों में एक्सएलएसटी-परीक्षण दिखाने के लिए यह फ़ाइल आपके जेनकींस द्वारा उठाई जा सकती है। बस एक बिल्ड चरण के रूप में उपकरण में कॉल जोड़ें।


XSLT के लिए एक परीक्षण ढांचा XSpec आज़माएं। यह आपको घोषणात्मक रूप से परीक्षण लिखने और टेम्पलेट्स और कार्यों का परीक्षण करने की अनुमति देता है।





xslt-tools