2012-09-02 36 views
6

Tôi đang sử dụng thử nghiệm JUnit 4 thuần túy và tôi đã biên dịch chúng bên trong một số lọ thuộc về classpath. Tôi muốn chạy tất cả các bài kiểm tra trong classpath của tôi.JUnit chạy thử nghiệm bên trong một JAR

Có cách nào không?

nhiệm vụ của tôi trông giống như:

<target name="test" description="All the tests"> 
    <junit fork="yes"> 
     <classpath> 
      <path refid="test.classpath" /> 
      <fileset dir="war/WEB-INF/lib/"> 
       <include name="*.jar"/> 
      </fileset> 
      <fileset dir="war/WEB-INF"/> 
      <fileset dir="war"/> 
     </classpath> 
    <formatter type="plain" usefile="false" /> 

    </junit> 
</target> 

Trả lời

5

Ví dụ dưới đây giả định các xét nghiệm JUnit được đặt tên với hậu tố "Test" như "MyClassTest.java" và rằng JUnit 4 file jar là trong một thư mục thư viện được chỉ định bởi thuộc tính lib.dir. Đối với mỗi tệp jar chứa các phép thử được biên dịch, một ZipFileSet có thể được sử dụng để chọn các lớp thử nghiệm trong một phần tử lồng nhau <batchtest>. Đường dẫn đến jar JUnit 4 được bao gồm trong classpath để đảm bảo rằng phiên bản chính xác được sử dụng.

<target name="test" description="All the tests."> 
    <junit fork="true"> 
    <classpath> 
     <fileset dir="war/WEB-INF/lib/" includes="**/*.jar" /> 
     <fileset dir="${lib.dir}" includes="junit*.jar" /> 
    </classpath> 
    <batchtest haltonfailure="true"> 
     <zipfileset src="war/WEB-INF/lib/test.jar" includes="**/*Test.class" /> 
    </batchtest> 
    <formatter type="plain" usefile="false" /> 
    </junit> 
</target> 
+0

nó chỉ hoạt động, cảm ơn –

Các vấn đề liên quan