2012-03-05 36 views
5

我建立了一個包含使用JUnit的單元測試的Ant項目。JUnit&Ant:如何在屏幕上顯示詳細的錯誤信息?

的測試目標是:

<target name="test"> 
    <mkdir dir="target/test/reports"/> 
    <junit printsummary="yes" haltonfailure="yes"> 
     <classpath> 
      <pathelement location="${test.classes.dir}"/> 
      <pathelement location="${test.junit.jar}" /> 
      <pathelement path="${classes.dir}"/> 
      <pathelement path="${java.class.path}"/> 
     </classpath> 
     <formatter type="plain"/> 

     <batchtest fork="yes" todir="${test.reports.dir}"> 
      <fileset dir="${test.src.dir}"> 
       <include name="**/*Test*.java"/> 
      </fileset> 
     </batchtest> 
    </junit> 
</target> 

當我運行這個測試,它在屏幕上顯示只喜歡測試總結:

Buildfile: F:\test\build.xml 

test: 
    [junit] Running com.mycompany.myproject.myTest 
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.013 sec 
    [junit] Running com.mycompany.myproject.myTest1 
    [junit] Tests run: 3, Failures: 1, Errors: 0, Time elapsed: 0.018 sec 

BUILD FAILED 
F:\test\build.xml:30: Test com.mycompany.myproject.myTest1 failed 

Total time: 1 second 

反正是有,我可以告訴JUnit的或Ant在屏幕上顯示詳細的結果?

另外,如果我想在單元測試中寫入一些東西到屏幕上,我該怎麼做?我試圖在測試中插入System.out.println(),但它不顯示屏幕上的任何內容。

非常感謝。

回答

3

showOutput標誌設置爲true。

你在試驗中通過S.o.p完成什麼?

2

變化printsummary價值withOutAndErr,這將導致JUnit來打印System.out和System.err的文本

1

恕我直言,你要解決錯誤的問題。

junit結果被收集並坐在「$ {test.reports.dir}」被你看到。 Ant有任務,可以幫助你在getting an HTML report

介紹對象,生成從收集的數據的HTML(它們是XML文件)

<junitreport todir="./reports"> 
    <fileset dir="${test.reports.dir}"> 
    <include name="TEST-*.xml"/> 
    </fileset> 
    <report format="frames" todir="./report/html"/> 
</junitreport> 
0

另外,如果你要打印的東西到屏幕上,只需使用

<echo message="My message..." /> 
0
<batchtest fork="yes" todir="${junit.report.dir}"> 
    <formatter type="xml" /> 
     <fileset dir="${application.build.stage.java.class.dir}"> 
     <include name="**/*Test.class" /> 
</fileset> 
</batchtest> 

你可以使用這個在你的build.xml文件來生成報告爲HTML文件。