配置单元测的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
分享到:
相关推荐
在Java开发领域,Spring框架是应用最广泛的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)框架之一,而JUnit则是Java语言中进行单元测试的标准库。本篇文章将详细探讨如何在Spring环境中利用...
JUnit测试是一种白盒测试工具,具有JUnit经验对于应用“测试驱动开发(TDD)”的程序开发模型是非常重要的。 在本实验中,我们将学习使用JUnit4.X进行单元测试,掌握JUnit4.X编写测试代码的方法,并应用JUnit进行...
Junit是Java编程语言中最常用的单元测试框架,它为开发者提供了丰富的功能来编写、运行和管理测试用例。在这个场景中,我们讨论的是一个免费的Junit单元测试jar包,该包可用于进行Java程序的单元测试。 首先,让...
在这个示例中,我们定义了四个目标:`compile`用于编译源代码,`compile-tests`用于编译测试代码,`test`用于运行JUnit测试,`report`则根据XML输出生成HTML格式的测试报告。`junit`任务中的`batchtest`元素用于指定...
在Spring框架中,进行Junit单元测试是软件开发过程中的重要环节,有助于确保代码的健壮性和可维护性。在本篇文章中,我们将探讨如何利用Spring的MOVE(Model-View-Controller)架构以及JUnit库来执行单元测试。首先...
本教程将详细讲解如何搭建一个Spring MVC项目,并实现Junit单元测试,确保代码的质量。 首先,我们需要了解Spring MVC的基本构成。Spring MVC的核心组件包括DispatcherServlet、Controller、ViewResolver、...
然后,我们有两个目标,一个是`compile`,用于编译源代码,另一个是`test`,用于执行JUnit测试。`junit`任务中,我们指定了测试报告的输出格式和失败时是否停止测试,以及要运行的测试类。 对于单元测试,我们需要...
4. Junit 在 Java 开发中的应用:Java 下的 team 开发,采用 cvs(版本控制) + ant(项目管理) + junit(集成测试) 的模式时,通过对 ant 的配置,可以很简单地实现测试自动化。 5. Junit 测试的分类:Junit 有不同的...
本文旨在详细介绍如何在 Eclipse 中配置 JUnit,包括设置类路径变量、创建 Java 项目以及编写 JUnit 测试案例等过程。 #### 二、配置 JUnit 类路径变量 在 Eclipse IDE 中,虽然已经预装了 JUnit,但为了更好地...
3. **配置环境变量**:在操作系统的环境变量中配置`CLASSPATH`,指向JUnit的`.jar`文件路径。 4. **IDE集成**:在开发环境中(如Eclipse)配置JUnit,将其添加到项目的库中。 #### 四、JUnit的使用示例 为了更好地...
在Ant中集成JUnit测试,通常会使用一个名为junit的Ant任务。这个任务会调用JUnit的测试运行器,执行指定的测试类或方法。在“buildjunit.xml”中,可能会定义这样一个任务,包含如下的配置: ```xml ...
在学习这个过程时,了解Ant的任务结构、classpath配置以及JUnit4的测试注解是非常关键的。同时,掌握如何阅读和理解Ant的XML配置文件,以及如何编写符合JUnit4规范的测试用例,都将对提升开发能力有所帮助。
而JUnit作为Java单元测试的事实标准,是进行精确、高效测试的必备工具。本文将深入探讨如何在Spring4环境中利用JUnit进行简单测试。 首先,让我们了解Spring4中的测试支持。Spring4引入了`@ContextConfiguration`...
JUnit 是一个非常流行的 Java 单元测试框架,由软件大师 Erich Gamma 和 Kent Beck 共同开发完成。JUnit 的设计目的是为了帮助开发者更好地编写高质量的代码,通过自动化测试来确保代码的功能正确性和稳定性。JUnit ...
本资源包含进行JUnit测试所需的jar包以及SoMonitor测试软件包,这些工具对于初学者和有经验的开发者来说都是很有价值的。 首先,让我们深入了解一下JUnit。JUnit是一个开源的Java库,它允许程序员编写可重复运行的...
- **项目构建路径的管理**:正确配置项目的构建路径不仅对于JUnit测试非常重要,也是整个项目能否正常编译和运行的基础。 #### 四、总结 通过上述步骤,我们已经成功地在Eclipse中配置了JUnit,并且能够开始编写和...
当你运行`ant test`命令时,Ant会执行这个`test`目标,从而运行指定的JUnit测试,并将结果输出到控制台或指定的报告目录。如果测试失败,Ant可以继续执行其他任务,或者根据你的配置立即停止整个构建过程。 在实际...
Spring是一个开源的、全面的企业级应用框架,它简化了开发复杂应用的过程,而JUnit则是一个流行的单元测试框架,用于确保代码的质量和可靠性。当我们需要对Spring框架中的组件进行单元测试时,通常会将JUnit与Spring...