我使用下面的命令創建了單元測試axis2 SOAP客戶端項目生成的JUnit項目:螞蟻無法找到與WSDL2Java的
wsdl2java -t -uri http://myDomain.tld/myService.svc?wsdl
我然後跑ant
並得到編譯錯誤,因爲它找不到JUnit的方法如fail(),assertNotNull()等。我意識到我需要編譯器引用junit jar。展望在build.xml
我看到了以下內容:
<property name="classes" value="${build}/classes"/>
<property name="lib" value="${build}/lib"/>
所以我把在build.lib子junit-4.8.2.jar
。我仍然得到相同的錯誤。我還需要做些什麼才能讓螞蟻建立我的項目?
更新:
我做了以下修改到build.xml:
新增的lib文件夾中與ID的路徑local.class.path
<path id="local.class.path">
<fileset dir="${lib}">
<include name="*.jar"/>
</fileset>
</path>
然後我修改了我的init任務以查找junit:
<available classpathref="local.class.path" property="junit.available" classname="junit.framework.TestCase"/>
<condition property="jars.ok">
<and>
<isset property="stax.available"/>
<isset property="axis2.available"/>
<isset property="junit.available"/>
</and>
</condition>
<!--Print out the availabilities-->
<echo message="Stax Availability= ${stax.available}"/>
<echo message="Axis2 Availability= ${axis2.available}"/>
<echo message="JUnit Availability= ${junit.available}"/>
而且奇怪的輸出是:
H:\Code\Java\test.axis2> ant pre.compile.test
Buildfile: H:\Code\Java\RiskTools.axis2\build.xml
init:
[mkdir] Created dir: H:\Code\Java\test.axis2\build
[mkdir] Created dir: H:\Code\Java\test.axis2\build\classes
[mkdir] Created dir: H:\Code\Java\test.axis2\build\lib
pre.compile.test:
[echo] Stax Availability= true
[echo] Axis2 Availability= true
[echo] JUnit Availability= ${junit.available}
BUILD SUCCESSFUL
Total time: 0 seconds
這樣看來,我做錯了什麼,由於線[迴音] JUnit的可用性= $ {} junit.available
如果你通常做'蟻build',我可能會建議您改爲嘗試 螞蟻-debug -verbose建立> buildStdOut.txt 這將明確地告訴你是否被包含的junit-4.8.2。 – rajah9 2011-05-23 18:54:24
rajah,這是很好的信息知道 – 2011-05-23 19:01:09