一.普通java项目
1.导入junit jar包。lib/junit.jar java build path 添加junit.jar 到项目中
2.项目中新建test文件夹(类型是Source Floder)
3.针对要测试的类 建 TestCase
要测试的类(src目录)
public class Calculator {
public int sum(int i,int j){
return i+j;
}
public int sub(int i,int j){
return i-j;
}
public int mul(int i,int j){
return i*j;
}
}
TestCase(test目录下, 和src内的包对应)
public class CalculatorTest extends TestCase {
private static Calculator cal=new Calculator();
@Test
public void testSum() {
assertEquals(10, cal.sum(6, 4));
}
@Test
public void testSub() {
assertEquals(2,cal.sub(6, 4));
}
@Test
public void testMul() {
assertEquals(24, cal.mul(6, 4));
}
}
4. build 文件
<?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="JUnitAllTests" name="TestJUnit4"> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="junit.output.dir" value="JunitTestResult"/> <property name="target" value="1.5"/> <property name="source" value="1.5"/> <path id="TestJUnit4.classpath"> <pathelement location="bin"/> </path> <target name="JUnitAllTests"> <delete dir="${junit.output.dir}"/> <mkdir dir="${junit.output.dir}"/> <junit fork="yes" printsummary="withOutAndErr"> <formatter type="xml"/> <batchtest fork="yes" todir="${junit.output.dir}"> <fileset dir="test"> <include name="**/*Test*.java"/> <exclude name="**/AllTests.java"/> </fileset> </batchtest> <classpath refid="TestJUnit4.classpath"/> </junit> <antcall target="junitreport"/> </target> <target name="junitreport"> <junitreport todir="${junit.output.dir}"> <fileset dir="${junit.output.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${junit.output.dir}"/> </junitreport> </target> </project>
5.到生成的 JunitTestResult 查看测试结果 index.html
二. 项目中一个web项目的 junit build文件(和普通java项目的构建路径不同 注意下 就行了)
<?xml version="1.0" encoding="UTF-8"?> <project basedir="." default="JUnitAllTests" name="icam"> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="junit.output.dir" value="JunitTestResult"/> <property name="java_compile_version" value="1.6"/> <property name="source" value="1.6"/> <property name="debug" value="true"/> <property name="lib.dir" value="${basedir}/WebContent/WEB-INF/lib"/> <property name="another.lib" value="${basedir}/lib"/> <!-- 一些额外的jar包 如项目中用到的jboss的jar包,但不在项目web-inf下的lib包中 需引入--> <path id="junit.classpath"> <pathelement location="${lib.dir}/junit-4.5.jar"/> </path> <path id="build.classpath"> <pathelement location="${basedir}/web/WEB-INF/classes"/> </path> <path id="cover-test.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> <fileset dir="${another.lib}"> <include name="**/*.jar"/> </fileset> </path> <path id="test.run.classpath"> <path refid="junit.classpath"/> <path refid="cover-test.classpath"/> <path refid="build.classpath"/> </path> <target name="JUnitAllTests"> <delete dir="${junit.output.dir}"/> <mkdir dir="${junit.output.dir}"/> <junit fork="yes" printsummary="withOutAndErr"> <formatter type="xml"/> <batchtest fork="yes" todir="${junit.output.dir}"> <fileset dir="test"> <include name="**/*Test*.java"/> <exclude name="**/AllTests.java"/> </fileset> </batchtest> <classpath refid="test.run.classpath"/> </junit> <antcall target="junitreport"/> </target> <target name="junitreport"> <junitreport todir="${junit.output.dir}"> <fileset dir="${junit.output.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${junit.output.dir}"/> </junitreport> </target> </project>
附件一个普通java项目的junit例子