怎样使用junit来自动生成测试结果报告书?

pwair 2003-07-15 12:52:21
不知道我的提法对不对,测试结果报告书是用junit来生成的么?
老板让我“用junit来自动生成测试结果报告书”,我不知道该从什么地方下手,
希望各位不吝指点小弟一下,感激不尽。
谢谢。
...全文
1281 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckyker 2003-12-19
  • 打赏
  • 举报
回复
学习:)
knight_qmh 2003-07-16
  • 打赏
  • 举报
回复
需要把xalan.jar放到ant_home\lib下
pwair 2003-07-16
  • 打赏
  • 举报
回复
biggie(飞碟) 你好
你写的:<classpath refid="appclasspath"/>
是什么意思,麻烦你给解释一下好么?
pwair 2003-07-16
  • 打赏
  • 举报
回复
biggie(飞碟) 你好
我的builder.xml是这么写的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<project default="main" basedir=".">
<property name="app.name" value="sample" />
<property name="build.dir" value="build/classes" />

<target name="JUNIT">
<available property="junit.present" classname="junit.framework.TestCase" />
</target>

<target name="compile" depends="JUNIT">
<mkdir dir="${build.dir}"/>
<javac srcdir="src/main/" destdir="${build.dir}" >
<include name="**/*.java"/>
</javac>
</target>

<target name="jar" depends="compile">
<mkdir dir="build/lib"/>
<jar jarfile="build/lib/${app.name}.jar"
basedir="${build.dir}" includes="com/**"/>
</target>

<target name="compiletests" depends="jar">
<mkdir dir="build/testcases"/>
<javac srcdir="src/test" destdir="build/testcases">
<classpath>
<pathelement location="build/lib/${app.name}.jar" />
<pathelement path="" />
</classpath>
<include name="**/*.java"/>
</javac>
</target>

<target name="runtests" depends="compiletests" if="junit.present">
<java fork="yes" classname="junit.textui.TestRunner"
taskname="junit" failonerror="true">
<arg value="test.com.company.HelloWorldTest"/>
<classpath>
<pathelement location="build/lib/${app.name}.jar" />
<pathelement location="build/testcases" />
<pathelement path="" />
<pathelement path="${java.class.path}" />
</classpath>
</java>
</target>
<!-- 0715 add -->
<target name="report">

<junit printsummary="yes" fork="yes" haltonfailure="no" >
<classpath>
<fileset dir="build/testcases/test/com/company">
<include name="HelloWorldTest.class" />
<!--include name="HelloWorld.class" -->
</fileset>
<pathelement location="D:\tools\junit3.8.1\junit.jar"/>
</classpath>
<formatter type="xml"/>
<!--this specify the output format of junit -->
<test name="HelloWorldTest" todir="tempjunit" />
<!--this will run all testXXX methods of the TestMyCode and generate the output to dir tempjunit , the output file is TEST-TestMyCode .xml -->
</junit>

<junitreport todir="./report/html">
<fileset dir="./report/html">
<include name="TEST-WWW.xml"/>
</fileset>
<report format="frames" todir="./report/html"/>
</junitreport>

</target>
<!-- 0715 add end -->

</project>

我运行ant report的时候,出现:
D:\sample>ant report
Buildfile: build.xml

report:
[junit] Running HelloWorldTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
[junit] TEST HelloWorldTest FAILED
[junitreport] Using Xalan version: Xalan Java 2.2.D11
[junitreport] Transform time: 438ms

BUILD SUCCESSFUL
Total time: 3 seconds
好象是说我的HelloWorldTest 运行失败了,并且在./report/html这个目录下生成若干HTML文件但是都是空的HTML文件.

如果我运行:
D:\sample>ant runtests
Buildfile: build.xml
JUNIT:
compile:
jar:
compiletests:
[javac] Compiling 1 source file to D:\sample\build\testcases
runtests:
[junit] .
[junit] Time: 0.016
[junit] OK (1 test)

BUILD SUCCESSFUL
Total time: 3 seconds
说明我的HelloWorldTest是没有问题的,但是这样一来测试结果报告就生成不了了.
不知道问题出在那里?
感谢各位的帮助,谢谢.
pwair 2003-07-16
  • 打赏
  • 举报
回复
TO biggie(飞碟) :
你好,谢谢你.我明白了.
谢谢大家的帮助.
biggie 2003-07-16
  • 打赏
  • 举报
回复
appclasspath是我定义的classpath路径如下
<path id="appclasspath">
<pathelement path="${java.class.path}"/>
<fileset dir="${base.dir}/defaultroot/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
<pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
<pathelement location="D:/j2sdkee1.3.1/lib/j2ee.jar"/>
</path>

pwair 2003-07-16
  • 打赏
  • 举报
回复
TO knight_qmh(辉) :
xalan.jar已经放到ant_home\lib下乐。

TO biggie(飞碟) :
我将你写的放到了build.xml中后,<classpath refid="appclasspath"/>这句话系统提示: Reference appclasspath not found.(我把这句注释了)。的却生成了.xml和.html的文件,谢谢。请你给解释一下<classpath refid="appclasspath"/>这句话好么?
dayn9 2003-07-15
  • 打赏
  • 举报
回复
mark
httruly 2003-07-15
  • 打赏
  • 举报
回复
up
biggie 2003-07-15
  • 打赏
  • 举报
回复
用ant+junit 就可以了,把junit的junit.jar 放在ant_home/lib 下
编写build.xml 主要实现如下
<target name="run">
<junit>
<classpath refid="appclasspath"/>
<classpath>
<pathelement location="${base.dir}/defaultroot/WEB-INF/classes"/>
</classpath>
<formatter type="xml"/>
<test name="test.AllTests" haltonfailure="no" outfile="result"/>
</junit>
<junitreport todir="./report">
<fileset dir=".">
<include name="result.xml"/>
</fileset>
<report format="noframes" todir="./report"/>
</junitreport>
</target>
bigbigpoo 2003-07-15
  • 打赏
  • 举报
回复
自己写一个工具来生成就行了。

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧