1.1.1
Unitils 模块
下面的向导文件讲述Unitils 的模块系统和所提供的模块。我们从解释怎么配置测试环境并将让你的测试使用这些模块开始。子章节会深入的描述这些模块的功能。
配置
对于任何一个项目,unitils 需要一些配置。默认情况下,有三个级别的配置,每个级别可以覆盖前一个配置。
1.
Unitils-defaults.properties:默认配置文件,在Unitils自己的发布包中。
2.
Unitils.propertis:包含项目范围的配置
3.
Unitils-local.properites:包含用户规范配置
第一个文件,Unitils-defaults.properties,包含默认值并且被打包在Unitils.jar.你不需要改变这个文件,不过你可以用来做参考,因为他包含了所有对Unitils的可能配置
第二个文件,unitils.propertis ,可以覆盖默认配置,并且一个项目中所有开发人员通用的配置都可以放在这里。例如你的项目用到的数据库配置都是一样的,那么你可以建立一个Unitils.properties文件,他会覆盖默认的驱动类和Url属性
database.driverClassName=oracle.jdbc.driver.OracleDriver
database.url=jdbc:oracle:thin:@yourmachine:1521:YOUR_DB
这个文件不是必须的,但是如果你新建了一个,它应该被放在你项目的类路径下。你可以查看一个包含了常用配置的模板文件从这里 unitils.properties。
最后的文件,Unitils-local.properties,一样是可选的,一般包含开发人员自己的特殊配置,而且会覆盖项目配置的信息。例如如果每个用户自己的unit-test数据库用户不同,你可以建立一个unitils-local.properties为每一个用户,包含自己的数据库用户名和密码以及数据库名。
database.userName=john
database.password=secret
database.schemaNames=test_john
unitils-local.propertis文件应该被放在用户自己相应的文件夹(system.getProperty(“user.home”)).重用的配置模板你可以在这里找到unitils-local.properties 。
这个本地配置文件名称,你也可以自己定义。这样你就可以为每个项目起个不同的名字。例如,你正在项目1上使用Unitils,并且你想在新开始的项目2上使用。那么在项目2的Unitls.properties文件增加如下属性,让项目2的Unitils使用projectTwo-local.properties作为用户本地配置即可。
unitils.configuration.localFileName=projectTwo-local.properties
1.1.1.2 让你的测试使用Unitils
Unitils通过一个测试监听系统给测试类提供服务。首先需要让你的项目可以使用Unitils。你的类只需要继承(间接)Unitils基础测试类就可以了。目前对主流的测试框架已经有基础的类:
-
JUnit3: org.unitils.UnitilsJUnit3
JUnit4: org.unitils.UnitilsJUnit4
TestNG: org.unitils.UnitilsTestNG
这里有个例子,如果你使用的是Junit3,那么这样便可以使用Unitils了:
import org.unitils.UnitilsJUnit3;
public class MyTest extends UnitilsJUnit3 {
}
通常你会建立自己的测试基类,里面会包含一些测试类公用的方法,例如数据源注入等,那么就让这里基类从Unitils基类继承既可以。
当你使用Junit4 你也可以通过注解来实现从Unitils基类的继承
import org.junit.runner.RunWith;
import org.unitils.UnitilsJUnit4TestClassRunner;
@RunWith(UnitilsJUnit4TestClassRunner.class)
public class MyTest {
}
如果你不想从Unitils基类来继承,你也可以通过拷贝Unitils基类的源码(如UnitilsJunit3)来建立一个自定义的父类,这个类你仍然可以从其他类来继承,例如Spring的AbstractDependencyInjectionSpringContextTests(Junit3测试类的子类)
1.1.1.3 模块系统
在开始例子以前,我们先看看一些基本的概念和功能。
Unitils被设计成容易扩展新模块的系统。每个模块通过监听测试的执行情况来提供服务并在需要的时候触发适当的动作。
Unitils提供的测试基类(UnitilsJUnit3, UnitilsJUnit4, UnitilsTestNG),通过模块监听系统和测试类联系起来。
如果需要你的测试类提供扩展的服务,这个机制提供了统一的方式,可以使用灵活的方式增加服务而不改变测试类的父类。增加新的服务是比较简单的,就像增加一个新的模块并注册这个模块在Unitils的配置文件里一样。
目前,Unitils提供了如下的模块:
-
DatabaseModule: 单元测试的数据库管理和连接池维护
-
DbUnitModule: 测试数据的管理
-
HibernateModule:
Hibernate 配置支持和自动数据库映射关系检查
-
MockModule: Mock 对象支持
-
EasyMockModule: 支持Easymock
-
InjectModule: 支持Mock对象的注入
-
SpringModule: 支持Spring application context 加载和Spring bean 的注入和恢复。
注:只是自己看的时候顺便翻译出来帮助自己了解,如果翻译的不对欢迎指正。
分享到:
相关推荐
- `unitils-jdbc.jar`:数据库测试支持模块。 - `unitils-mock.jar`:模拟对象模块。 - `unitils-orm.jar`:ORM测试支持模块。 - `unitils-testng.jar`或`unitils-junit.jar`:针对TestNG或JUnit的适配器。 - `lib/`...
Unitils-core-3.3的jar包
标题 "spock-unitils-0.7-groovy-2.0.zip" 暗示这是一个软件库,可能是一个测试框架或工具,结合了Spock、Unitils和Groovy技术。Spock是一个基于JVM的BDD(行为驱动开发)框架,主要针对Groovy和Java语言,提供了一...
Unitils的模块化设计是其另一大特点,包括unitils-core(核心模块)、unitils-database(数据库管理)、unitils-DbUnit(DbUnit集成)、unitils-easymock(EasyMock支持)、unitils-inject(对象注入)、unitils-...
Unitils 测试框架目的是让单元测试变得更加容易和可维护。Unitils 构建在DbUnit 与 EasyMock 项目之上并与JUnit 和TestNG 相结合。支持数据库测试,支持利用Mock 对象 进行测试并提供与Spring 和Hibernate 相集成。...
标题“使用Unitils测试DAO”涉及的是在Java开发中如何利用Unitils库来高效地测试数据访问对象(DAO)层的代码。Unitils是一个强大的、易于使用的集成测试框架,它简化了诸如数据库、ORM(对象关系映射)框架如...
Unitils框架与模块扩展Unitils这个Java开源包的目的是让单元测试变得更加容易和维护。Unitils构建在DBUnit与EasyMock项目之上并与JUnit和TestNG相结合,支持数据库测试,支持利用mock对象进行测试并提供与Spring和...
本教程将向您展示如何使用 Unitils 来编写单元测试,并介绍一些常见的单元测试技术。 断言应用 ---------- 在单元测试中,断言是非常重要的一部分。断言的目的是为了验证测试结果是否与预期结果相符。Unitils 提供...
在压缩包"unitils-2.2"中,可能包含了Unitils库的JAR文件、文档、示例代码和其他相关资源。通过导入这些文件,开发者可以轻松地将Unitils集成到自己的项目中,从而提升测试效率和质量。 总之,Unitils 是一个强大的...
Unitils 模块 - 启动 Selenium Web 驱动程序以测试 Web 应用程序的简单方法。
在使用 Unitils 进行测试时,我们可以利用其提供的注解,例如 `@UsingDataSet` 来加载数据库数据,`@TestedObject` 或 `@InjectFields` 来注入测试对象。同时,配合 EasyMock,我们可以使用 `expect` 方法定义模拟...
描述中提到的链接没有具体内容,但通常在博客文章中,作者可能会详细解释如何配置和使用Unitils进行数据库测试,分享实际示例代码,以及解决可能遇到的问题和最佳实践。 标签“源码”和“工具”表明该博文可能涉及...
在使用dbunit之前,需要在pom.xml文件中添加相关的依赖项,包括unitils-core、unitils-dbunit、unitils-io、unitils-database和unitils-spring等。同时,需要在resource文件夹下创建一个unitils.properties配置文件...
unitils整合dbunit利用excel进行单元测试 包含mock以及整合spring进行测试
**Unitils** 是一个集成了多种测试辅助功能的框架,`unitils-3.3-with-dependencies.zip`包含了其3.3版本及其所有依赖。Unitils扩展了JUnit的功能,提供了数据库、ORM(对象关系映射)支持,如Hibernate和iBatis的...
Spring TestContext Framework 是 Spring 框架提供的测试支持模块,旨在简化 Spring 应用程序的测试。它提供了灵活的方式来配置和管理测试上下文,方便进行集成测试和接口测试。 ##### 5.4 Unitils Unitils 是一个...
对于那些希望避免使用真实依赖的测试场景,Unitils支持Mock Objects技术,这允许开发者创建一个被测系统的虚拟替代品。通过这种方式,可以模拟依赖对象的行为,从而使得单元测试仅关注被测系统本身,而不受外部系统...
Java-Modbus是一个Java库,用于在工业自动化系统中实现Modbus协议。Modbus是一种广泛使用的通信协议,允许不同设备之间进行数据交换,特别是在PLC(可编程逻辑控制器)和其他工业电子设备之间。这个库提供了在Java...