`

Junit单元测试Classpath配置

阅读更多

配置单元测的Classpath时的一个比较奇怪的问题:

首先看一下单元测试的Classpath配置:eclipse编辑器右键点击->Run As...->Run Configurations->Classpath标签页如下:

                                                                                                                       图1

从图1可以看出,TestCase的Classpath配置分为两部分:

    Bootstrap Entries 是 Jre类库;

    User Entries 是用户配置的第三方类库,同时这里又包括项目的类库,即Default Classpath,其是项目Build Path的所有Jar包。及TestCase使用到的其它Jar包。

    我进行单元测试时发现了一个比较奇怪的问题,即在User Entries 根下配置Log4j.jar包时如果其在项目的Default Classpath上边时单元测试用例不会报异常,如图2:

 

                                                                                                                    图2

但是如果把Log4j.jar移到项目的Default Classpath下边(如图3)时会有异常如下图4.

                                                                                                                               图3

Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Logger.trace(Ljava/lang/Object;)V
	at org.jbpm.internal.log.Log4jLog.trace(Log4jLog.java:74)
	at org.jbpm.pvm.internal.wire.xml.WireParser.<clinit>(WireParser.java:283)
	at org.jbpm.pvm.internal.cfg.ConfigurationParser.<init>(ConfigurationParser.java:46)
	at org.jbpm.pvm.internal.cfg.ConfigurationParser.<clinit>(ConfigurationParser.java:49)
	at org.jbpm.pvm.internal.cfg.ConfigurationImpl.parse(ConfigurationImpl.java:139)
	at org.jbpm.pvm.internal.cfg.ConfigurationImpl.setResource(ConfigurationImpl.java:118)
	at org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEngine(SpringHelper.java:47)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:115)
	... 39 more

                                                                                                                           图4

    这究竟是怎么回事呢?

     

 

 

  • 大小: 245.5 KB
  • 大小: 253.2 KB
  • 大小: 248.2 KB
分享到:
评论

相关推荐

    android-junit5:使用Android的JUnit 5进行测试

    该插件为项目的每个构建变体配置单元测试任务,以在JUnit Platform上运行。 此外,它附加到android.testOptions为这些测试提供了其他配置选项。 有关如何编写JUnit 5测试的说明,请参见其。 此外,此存储库提供了...

    MyBatis 需要注意的地方junit注解

    @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行...

    ALevin配置环境所需要的基础包——JUnit

    ALevin配置环境所需要的基础包——JUnit5.8.2版 适合人群: 对虚拟网络嵌入算法感兴趣的人 能学到什么: 可以帮助大家更快的配置好ALevin运行环境 阅读建议: ALevin作为一个很好的虚拟网络仿真平台,它的开源给我们...

    HttpServletRequst的mock实现基础上的测试案例介绍

    由于采用了junit4,建议使用注解来进行测试用力的配置,而不需要用test开头的method 2.无需启动tomcat、weblogic 等服务器,速度快 3.可以很方便debug,节省人力 只需要利用测试工程的junit-debug即可,有时候可能...

    gradle-android-test-plugin:[已弃用] 一个 Gradle 插件,它可以为 Android 构建启用良好的“老式单元测试”

    已弃用 此插件已弃用,不再开发。 Android 工具团队已承诺在 v1.1 中提供单元... 使用testCompile配置添加仅测试依赖项: testCompile ' junit:junit:4.10 ' testCompile ' org.robolectric:robolectric:2.1.+ ' tes

    Maven 2 学习笔记.txt

    mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook ...目录src/test/resources下存放测试classpath资源文件。 /test/java

    客户关系管理系统框架搭建(二)

    * junit:开发人员测试用的 * 搭建hibernate层 * 定义需求:部门信息的页面数据要插入到数据库中 * 定义表 CREATE TABLE `sys_user_group` ( `id` INTEGER(11) NOT NULL AUTO_INCREMENT, #编号 ...

    Spring AOP配置源码

    此单元测试基于spring的AbstractJUnit4SpringContextTests,你需要添加spring的关于单元测试的支持 在类上标注@ContextConfiguration(locations="classpath:applicationContext.xml")意思是去classpath路径下加载...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    8.2.2 配置JUnit 8.3 JUnit的使用方法 8.3.1 继承TestCase 8.3.2 编写测试方法 8.3.3 编写断言 8.4 JUnit的新特性 8.4.1 改变测试方法的命名方式 8.4.2 不再继承TestCase 8.4.3 改变初始化和销毁方式 8.4.4 改变异常...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    8.2.2 配置JUnit 8.3 JUnit的使用方法 8.3.1 继承TestCase 8.3.2 编写测试方法 8.3.3 编写断言 8.4 JUnit的新特性 8.4.1 改变测试方法的命名方式 8.4.2 不再继承TestCase 8.4.3 改变初始化和销毁方式 8.4.4 改变异常...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    8.2.2 配置JUnit 8.3 JUnit的使用方法 8.3.1 继承TestCase 8.3.2 编写测试方法 8.3.3 编写断言 8.4 JUnit的新特性 8.4.1 改变测试方法的命名方式 8.4.2 不再继承TestCase 8.4.3 改变初始化和销毁方式 8.4.4 改变异常...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    8.2.2 配置JUnit 8.3 JUnit的使用方法 8.3.1 继承TestCase 8.3.2 编写测试方法 8.3.3 编写断言 8.4 JUnit的新特性 8.4.1 改变测试方法的命名方式 8.4.2 不再继承TestCase 8.4.3 改变初始化和销毁方式 8.4.4 改变异常...

    spring-framework-2.5.1类包

    driven dependency injection),使用注解而非XML元数据来自动侦测classpath上的Spring组件,注解对生命周期方法的支持,一个新的web控制器模型将请求映射到加注解的方法上,在测试框架中支持Junit4,Spring XML命名...

    day020-继承加强和设计模式代码和笔记.rar

    1. 单元测试:(掌握) 1. 写一个单元测试类,命名方式:XxxTest(测试类没有main方法) 2. 导入包,Junit4包 选中项目,右键 =&gt; Build Path =&gt; Add Library =&gt; 选中Junit 选中Junit4 =&gt; finish 3. 在...

    Spring.html

    --全局初始化参数--&gt; &lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt;classpath:applicationContext.xml&lt;/param-value&gt; 4.在Servlet中使用WebApplicationContextUtils获取容器...

    maven的优缺点 项目

    |--&gt;|--&gt;main:代码:除测试以外的代码:junit |--&gt;|--&gt;main|--&gt;java:代码 |--&gt;|--&gt;main|--&gt;resources:配置文件 |--&gt;|--&gt;test:测试的代码,junit |--&gt;|--&gt;test|--&gt;java:代码 |--&gt;|--&gt;test|--&gt;resources:配置文件 |--&gt;...

    Spring2.5的新特性

    driven dependency injection),使用注解而非XML元数据来自动侦测classpath上的Spring组件,注解对生命周期方法的支持,一个新的web控制器模型将请求映射到加注解的方法上,在测试框架中支持Junit4,Spring XML命名...

    Spring中文帮助文档

    8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 8.3.3. 通用目标 8.3.4. JDBC测试支持 8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8....

    Spring API

    8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 8.3.3. 通用目标 8.3.4. JDBC测试支持 8.3.5. 常用注解 8.3.6. JUnit 3.8遗留支持 8.3.7. Spring TestContext Framework 8.3.8....

    Spring攻略(第二版 中文高清版).part2

    13.1 用JUnit and TestNG创建测试 504 13.1.1 问题 504 13.1.2 解决方案 504 13.1.3 工作原理 504 13.2 创建单元测试和集成测试 509 13.2.1 问题 509 13.2.2 解决方案 509 13.2.3 工作原理 510 13.3...

Global site tag (gtag.js) - Google Analytics