0
我有一個使用JUnit進行單元測試的項目。問題是,當我嘗試從Eclipse編譯和運行我的項目時,一切都很好,但是當我嘗試使用Ant進行編譯時,出現大量錯誤,它無法從JUnit識別任何函數(如test()
)。我在項目文件夾中複製了junit.jar
,我的類路徑是「./」,但它仍然不起作用。任何人都知道我應該怎麼做才能完成這件事?如何讓ant識別項目庫中的junit.jar
我有一個使用JUnit進行單元測試的項目。問題是,當我嘗試從Eclipse編譯和運行我的項目時,一切都很好,但是當我嘗試使用Ant進行編譯時,出現大量錯誤,它無法從JUnit識別任何函數(如test()
)。我在項目文件夾中複製了junit.jar
,我的類路徑是「./」,但它仍然不起作用。任何人都知道我應該怎麼做才能完成這件事?如何讓ant識別項目庫中的junit.jar
當編譯測試代碼時,您需要確保JUnit Jar包含在您的類路徑中。您還需要所有其他依賴項,以及您之前編譯的類的類路徑。
說你這是怎麼編的常規代碼:
<property name="main.lib.dir" value="???"/>
<property name="junit.jar" value="???"/>
<target name="compile"
description="Compile my regular code">
<javac srcdir="${main.srcdir}"
destdir="${main.destir}">
<classpath path="${main.lib.dir}"/>
</javac>
通知我有我的,包含所有我的代碼是取決於罐子的目錄。這是${main.lib.dir}
。請注意,我的課程編譯爲${main.destdir}
。另外請注意,我有一個屬性指向${junit.jar}
中的實際JUnit jar。我還沒有使用那個。
我們編譯我的測試類:
<target name="test-compile"
description="Compile my JUnit tests">
<javac srcdir="${test.srcdir}"
destdir="${test.destdir}">
<classpath path="${main.lib.dir}"/>
<classpath path="${main.destdir}"/>
<classpath path="${junit.jar}"/>
</javac>
注意,現在有三個項目在我的類路徑:
您編譯測試claasses後,您現在可以使用<junit>
任務運行測試:
<junit fork="true"
includeantruntime="true">
<formatter .../>
<batchtest todir="${test.output.dir}"/>
<classpath="${test.destdir}"/>
</junit>
您可能需要添加build.xml文件,因爲你可能有類路徑問題。 –
無法幫助您瞭解有關項目構建文件的更多信息 –