我正在使用Ant构建我的项目,并且在使用TestNG时遇到了使用文本文件运行测试的问题。下面是我的代码,其中包含两个编译和运行我的测试代码的目标:
<target name="compile-tests" depends="compile"
description="Compile the project test source-code." >
<mkdir dir="${testBuildDir}" />
<javac destdir="${testBuildDir}" classpathref="test.path"
debug="${java.debug}" optimize="${java.opt}" deprecation="on">
<src path="${testSrcDir}" />
</javac>
<!-- Copies text testing files over -->
<copy todir="${testBuildDir}">
<fileset dir="${testSrcDir}">
<include name="**/*.txt" />
</fileset>
</copy>
</target>
<target name="test" depends="compile-tests"
description="Runs all the unit tests">
<testng suitename="boggle-tests" outputdir="${testResultsDir}">
<classpath>
<path refid="test.path" />
<pathelement path="${testBuildDir}" />
</classpath>
<classfileset dir="${testBuildDir}" />
</testng>
</target>
另外,我在下面提供了我的xml文件中使用的属性列表:
<property name="srcDir" location="src" />
<property name="libDir" location="lib" />
<property name="buildDir" location="build"/>
<property name="buildClassesDir" location="${buildDir}/classes"/>
<property name="javaDocDir" location="${buildDir}/javadoc"/>
<property name="testSrcDir" location="test"/>
<property name="testBuildDir" location="${buildDir}/tests"/>
<property name="testResultsDir" location="${buildDir}/results"/>
<property name="testNGFile" location="${libDir}/testng-6.8.jar" />
所以我已经在${testBuildDir}
中包含了我的测试源代码和源代码使用的测试文本文件。我的编译测试目标只是编译.java文件并在目标中创建.class文件以及复制我的测试.txt文件。
然后我的测试目标使用TestNG框架运行所有这些.class文件。我遇到的问题是,当我运行测试目标时,我的测试代码失败,因为它说它无法找到用于测试目的的.txt文件。但是,我不明白为什么会发生这种情况,因为我的编译测试目标明显按预期工作并包含.txt测试文件。
我一直在为此奋斗太久,真的需要帮助。