ANT+JUNIT生成Report

kingo_liang 2003-09-03 10:50:58
我的build.xml生成report部分如下
<target name="runtests" depends="JUNIT" if="junit.present">
<junit fork="yes" haltonfailure="true">
<classpath>
<pathelement path="${build.dir}/classes" />
</classpath>
<formatter type="plain"/>
<test name="junit.samples.AllTests" haltonfailure="no" outfile="result">
<formatter type="xml"/>
</test>
</junit>
<junitreport todir="./report">
<fileset dir=".">
<include name="result.xml"/>
</fileset>
<report format="frames" todir="./report/html"/>
</junitreport>
</target>

可是运行的时候出错
出错信息如下:

runtests:
[junitreport] Using Xalan version: 2.0.1

BUILD FAILED
file:C:/Documents and Settings/kingo/桌面/JUNIT/junit3.8.1/junit/build.xml:43: Errors while applying transformations: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.Transfo
rmerException: org.xml.sax.SAXException: Namespace not supported by SAXParser

请问这是为什么呀!
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruanyuping 2003-09-03
  • 打赏
  • 举报
回复
up
kingo_liang 2003-09-03
  • 打赏
  • 举报
回复
提示的是NameSpace不对呀,可是NameSpace都是统一的怎么可能说不正确呢?

难道没有人遇到过这样的问题吗?我晕死掉!
wangyanqiu 2003-09-03
  • 打赏
  • 举报
回复


怀疑是result.xml中格式有问题!
1、 在应用tests目录文件下新建一个libs文件夹,将android-junit-report-dev.jar拷贝到该libs文件夹中 2、 在应用tests目录中的Android.mk文件加上如下配置: LOCAL_STATIC_JAVA_LIBRARIES += android-junit-report-dev-FM2tests include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := android-junit-report-dev-FM2tests:libs/android-junit-report-dev.jar include $(BUILD_MULTI_PREBUILT) 其中红色的android-junit-report-dev-FM2tests的文件命名必须保持一致, 如果应该tests目录下的Android.mk文件中有LOCAL_SDK_VERSION := current这个配置,需要将该配置修改为LOCAL_PRIVATE_PLATFORM_APIS := true 3、 将应用tests目录下的AndroidManifest.xml文件中的 instrumentation android:name="android.test.InstrumentationTestRunner" 修改为 instrumentation android:name="com.zutubi.android.junitreport.JUnitReportTestRunner" 4、 在sonar-project.properties文件最后中加上如下语句: sonar.junit.reportPaths=. 5、 将编译生成的应用apk和tests的apk安装到手机板卡中(编译应用apk的时候需要加上参数PRODUCT_HAS_TESTS=1用于计算覆盖率) 6、 执行命令:adb shell am instrument -e coverage true -w com.caf.fmradio.tests/com.zutubi.android.junitreport.JUnitReportTestRunner 其中,com.zutubi.android.junitreport.JUnitReportTestRunner与第3步更改的name名称一致 7、 将执行结果后生成的文件拷贝到应用代码的代码的根目录下 生成的文件路径在手机的/data/user/0/com.caf.fmradio/files目录下,该目录下包含两个文件coverage.ec 和 junit-report.xml。 8、 将junit-report.xml重命名为“TEST-”开头的文件,如TEST-junit-report.xml 9、 执行ant -f build.xml命令得到覆盖率的结果(build.xml文件可参考覆盖率文档) 10、在应用代码根目录下(与sonar-project.properties同目录下)执行sonar-scanner命令,则可以在sonar网站中得到相关代码的覆盖率和单元测试数。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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