2012-03-05 23 views
5

JUnit kullanarak bir birim testi içeren bir Karınca projesi hazırlıyorum.JUnit & Ant: Ekranda ayrıntılı hata mesajı nasıl gösterilir?

Test hedefi olarak: Ben JUnit söyleyebilir yine de var mı

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 

: Ben bu testi çalıştırdığınızda

<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> 

, ekranda gibi testin sadece özetini göstermek veya ayrıntılı sonucu ekranda görüntülemek için Ant?

Ayrıca, birim sınama ekranında bir şey yazmak istersem bunu nasıl yapabilirim? Testte System.out.println() öğesini eklemeye çalıştım ancak ekranda hiçbir şey görüntülenmiyor.

Çok teşekkürler.

cevap

3

showOutput bayrağını true olarak ayarlayın.

Bir testin ortasında S.o.p aracılığıyla ne yapmaya çalışıyorsunuz? JUnit System.out ve System.err metin

2

değişiklik withOutAndErr için printsummary değeri, yanlış, problem çözme.

Sondaki sonuçlar "$ {test.reports.dir}" tarafından toplanarak "sizin tarafınızdan" görülüyor. Eğer ekrana bir şeyler yazdırmak istiyorsanız Ant sadece kullanmak,

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

IMHO yazdırmak neden olur

0

Ayrıca toplanan verilerden html oluşturmak için bir hedef tanıtın getting an HTML report

size yardımcı olabilir görevi (onlar XML dosyalarıdır) sahiptir

<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> 

Sen html dosyaları olarak raporlar oluşturmak için build.xml kullanabilirsiniz.