问题描述
现在有一个项目是struts+spring+ibatis的架构。需要用ant来批量跑junit和覆盖率,由于本人没有这方便的经验,一直没有调试出来。希望有此经验者不吝赐教。如果手头有以前项目的成品,或者类似的东西的也请共享下,谢谢了!现在编译是没有问题的,但是跑junit的时候case跑不过(eclipse下全成功.没有跑通的case好像都是一个原因:private CnxLogger logger = CnxLogger.getLogger(VMBHDM001LogicImpl.class);出nullpointException请大家帮忙看看:<target name="runtest" depends="instrument"><delete dir="${junit.work.dir}"></delete><mkdir dir="${junit.work.dir}"></mkdir><delete dir="${junit.report.dir}"></delete><mkdir dir="${junit.report.dir}"></mkdir><junit printsummary="yes" fork="yes" dir="${project.test.dir}"><!-- avoid error: Exception in thread "main" java.lang.ClassFormatError: LVTT entry for 'clazz' in .. --><jvmarg line="-noverify"></jvmarg><classpath location="${jcoverage.lib.dir}/jcoverage.jar"></classpath><classpath location="${build.instrumented.dir}"></classpath><classpath refid="classpath.run"></classpath><classpath><pathelement location="${build.classes.dir}"></pathelement></classpath><formatter type="xml"></formatter><batchtest todir="${junit.work.dir}"><fileset dir="${build.classes.dir}"><include name="**/base/**/*Test.class"></include><include name="**/framework/**/*Test.class"></include></fileset></batchtest></junit><junitreport><fileset dir="${junit.work.dir}"><include name="TEST-*.xml"></include></fileset><report format="frames" todir="${junit.report.dir}"></report></junitreport></target> 问题补充:<div class="quote_title">soartju 写道</div><div class="quote_div">自动测试的环境是不是有问题,如果eclipse没有问题,看看自动测试环境下相关的依赖包有没有冲突,有没有缺少的包。<br /><br />从异常上看,应该不会有null pointer的异常才对,因为没有实例变量,你给的异常信息有没有错?</div><br /><br />包冲突,少包的情况应该没有。eclipse和ant的环境肯定是有区别的。不知道用ant来跑还需要什么别的配置否?eclipse里面跑的时候,有框架可依附。所以,自己另外用ant跑的时候,是不是也要做点什么事情?比如项目中的log4j文件之类的要做copy到哪儿?需要改动什么信息?<br />望大家多多帮忙!
解决方案
除了包以外,检查一下jdk运行环境,eclipse和ant的有可能不一样。具体如何配置ant的jre,你自己找一下再试试看。
解决方案二:
把异常详细信息贴上来看看
解决方案三:
自动测试的环境是不是有问题,如果eclipse没有问题,看看自动测试环境下相关的依赖包有没有冲突,有没有缺少的包。从异常上看,应该不会有null pointer的异常才对,因为没有实例变量,你给的异常信息有没有错?