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

pwair 2003-07-15 12:52:21
不知道我的提法对不对,测试结果报告书是用junit来生成的么?
老板让我“用junit来自动生成测试结果报告书”,我不知道该从什么地方下手,
希望各位不吝指点小弟一下,感激不尽。
谢谢。
...全文
1307 11 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
自己写一个工具来生成就行了。
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要求,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

51,408

社区成员

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

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