Junit和Code文件位于不同的位置

时间:2015-04-16 13:52:21

标签: unit-testing ant

我正在尝试运行ANT脚本来执行简单的junit测试用例。 现在我有了要求。

  1. 我的示例产品的可执行文件将位于一个位置
  2. 我的junit测试用例将在另一个位置
  3. 我仍需要同步并执行测试用例
  4. 有没有办法可以让我的Junit查找另一个来源位置。

2 个答案:

答案 0 :(得分:0)

如果你的junit测试用例存在于另一个项目中,那么你需要为该单元测试的项目设置创建一个单独的build.xml。确保这个新的build.xml将您的示例产品JAR引用为依赖项。

答案 1 :(得分:0)

是的,这是可能的。

像往常一样编译源文件:

<javac srcdir="../${srcDir}/src" destdir="dist/src">

编译测试文件,包括类路径中的编译源:

<javac srcdir="../${testDir}/test" destdir="dist/test">
   <classpath location="dist/src"/>
</javac>

然后在JUnit类路径中包含这两个:

<path id="junit.path">
    <pathelement location="dist/src" />
    <pathelement location="dist/test" />
    <fileset file="../Libraries/junit*.jar" />
    <fileset file="../Libraries/ant-junit*.jar" />
    <fileset dir="externalLibraries">
        <include name="**/*.jar" />
    </fileset>          
</path>


<junit fork="yes" forkmode="once">
    <classpath refid="junit.path" />

    <batchtest fork="yes" todir="${dist}/testresults">
        <fileset dir="dist/test">
            <include name="**/*Test.class" />
        </fileset>
    </batchtest>            
</junit>

另见Ant documentation