2011-04-02 17 views
22

रिपोर्ट करता है नहीं मैं JUnit परीक्षण के साथ एक चींटी लिखने के लिए कोशिश की, लेकिन परिणाम के नीचे मिल:चींटी JUnit कार्य विस्तार

unittest: 
    [junit] Running com.mytest.utiltest 
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec 
    [junit] Test com.mytest.utiltest FAILED 

यह सिर्फ प्रिंट जानकारी के बिना त्रुटि दिखाता है, मैं build.xml भी पैरामीटर नीचे निर्दिष्ट ant -v or ant -debug के साथ शुरू करने की कोशिश की, लेकिन कोई भाग्य नहीं मिला। क्या कोई मदद कर सकता है?

<junit printsummary="yes" showoutput="true"> 

चींटी 1.8.2, सूरज jdk1.6.0_20, JUnit 4.8.2

समस्या को कम करने के लिए, मैं एक अलग परियोजना बनाई गई यह मेरा build.xml है

<project name = "TestPrj" default="unittest" basedir = "."> 

    <target name="unittest" > 
     <junit printsummary="yes" showoutput="true" > 
      <classpath> 
       <pathelement location="./junit-4.8.2.jar"/> 
       <pathelement location="./ant-junit4.jar"/> 
      </classpath> 
      <test name = "com.mytest.unittest.SimpleTest" todir="."/> 
     </junit> 
    </target> 

</project> 

नीचे simpletest.java

package com.mytest.unittest; 

import junit.framework.TestCase; 


public class SimpleTest extends TestCase{ 
    public void testFirst() 
    { 
     assertTrue(true); 
    } 

} 

C: \ TestPrj> चींटी

012,351,
Buildfile: C:\TestPrj\build.xml 

unittest: 
    [junit] Running com.mytest.unittest.SimpleTest 
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0 sec 

BUILD SUCCESSFUL 
Total time: 0 seconds 

C: \ TestPrj> dir

Directory of C:\TestPrj 

04/02/2011 02:00 PM <DIR>   . 
04/02/2011 02:00 PM <DIR>   .. 
04/02/2011 01:56 PM    280 .classpath 
04/02/2011 01:54 PM    519 .project 
04/02/2011 02:00 PM    7,120 ant-junit4.jar 
04/02/2011 02:00 PM    403 build.xml 
04/02/2011 01:55 PM <DIR>   com 
11/17/2010 05:36 PM   237,344 junit-4.8.2.jar 
       5 File(s)  245,666 bytes 
       3 Dir(s) 28,451,311,616 bytes free 

क्यों दिया गया JUnit परिणाम/विस्तार/रिपोर्ट नहीं है उत्पन्न? ताकि विफलता के मेरे वास्तविक मामले में, मैं अपने प्रश्नों का निवारण नहीं कर सकता?

उत्तर

40

तर्क का उपयोग आप junit कार्य के अंदर एक formatter तत्व का उपयोग करने के लिए प्रयास करें। फॉर्मेटर डिफ़ॉल्ट रूप से एक रिपोर्ट फ़ाइल बना देगा, लेकिन आप इसे स्क्रीन पर परिणामों को मुद्रित करने के लिए मजबूर कर सकते हैं। आप दो स्वरूपकों का उपयोग कर सकते हैं: आउटपुट के लिए आउटपुट के लिए एक, आउटपुट के लिए आउटपुट के लिए दूसरा।

ध्यान दें कि अब आपको जूनिट कार्य में गुण printsummary="yes" और showoutput="true" की आवश्यकता नहीं है। फॉर्मेटर अब आउटपुट का ख्याल रख रहा है।

<project name = "TestPrj" default="unittest" basedir = "."> 

<target name="unittest" > 
    <junit> 
     <classpath> 
      <pathelement location="./junit-4.8.2.jar"/> 
      <pathelement location="./ant-junit4.jar"/> 
     </classpath> 
     <formatter type="plain" usefile="false" /> <!-- to screen --> 
     <formatter type="plain" /> <!-- to file --> 
     <test name = "com.mytest.unittest.SimpleTest" todir="."/> 
    </junit> 
</target> 

</project> 

अधिक जानकारी के लिए एंटी मैनुअल में junit पृष्ठ पढ़ें।

+2

यह काम करता है लेकिन सभी परीक्षण चलने के बाद यह परिणाम स्क्रीन को आउटपुट करता है। मैं उन्हें चलने के रूप में देखना चाहता हूं ताकि मैं प्रगति की निगरानी कर सकूं। किसी भी तरह से आप ऐसा करने के बारे में जानते हैं? – crowmagnumb

+1

यहां देखें: http://stackoverflow.com/questions/18293054/immediate-junit-test-logging-with-junit-ant- टास्क – lesmana

1

क्या आप स्निपेट पोस्ट कर सकते हैं जो जूनिट को build.xml से कॉल करता है? निर्माण विफल होने के कई कारण हो सकते हैं। साथ ही, कृपया टेस्टकेस पोस्ट करें जिसे आप परीक्षण करने का प्रयास कर रहे हैं।

EDIT: क्या आपको परीक्षण के लिए स्थिर की आवश्यकता है?

public class utilTest extends TestCase { 
    public void testfun() { 
    assertTrue(true); 
    } 
} 

संपादित: outfile

<target name="unittest"> 
    <junit printsummary="yes" showoutput="true"> 
     <classpath> 
      <pathelement location="./junit-4.8.2.jar"/> 
      <pathelement location="./ant-junit4.jar"/> 
     </classpath> 

     <formatter type="plain" /> 

     <test name="com.mytest.unittest.SimpleTest" outfile="./testresult" /> 
    </junit> 
    <fail message="test failed" if="test.failure" /> 
</target> 
+0

<लक्ष्य नाम = "unittest" निर्भर करता है = "init"> \t \t \t <परीक्षण नाम = "com.mytest.utiltest" /> \t hetaoblog

+0

सार्वजनिक वर्ग का उपयोग टेस्टकेस {सार्वजनिक स्थैतिक शून्य testfun (assertTrue (true);)} – hetaoblog

+0

विस्तारित स्थिर संशोधक को हटा दें और अगर यह ठीक काम करता है तो मुझे बताएं। आपकी मदद के लिए – Shankar

संबंधित मुद्दे