• Unitils使用(转载)


    转自:http://www.blogjava.net/wangzhouyu/archive/2008/04/07/191137.html

     

    Unitils模块

    配置

    和大多数的项目一样,unitils也需要一些配置,默认情况下有3个配置,每个配置都覆写前一个的配置

    1. unitils-default.properties 默认的配置,在unitils发行包中。
    2. unitils.properties 可包含项目的全部配置
    3. unitils-local.properties 可以包含用户特定配置

    第一个配置文件unitils-default.properties,它包含了缺省值并被包含在unitils的发行包中。我们没有必要对这个文件进行修改,但它可以用来作参考。

    第二个配置文件unitils.properties,它是我们需要进行配置的文件,并且能覆写缺省的配置。举个例子,如果你的项目使用的是 oracle数据库,你可以创建一个unitils.properties文件并覆写相应的driver class和database url。

    database.driverClassName=oracle.jdbc.driver.OracleDriver
    database.url=jdbc:oracle:thin:@yourmachine:1521:YOUR_DB

    这个文件并不是必须的,但是一旦你创建了一个,你就需要将该文件放置在项目的classpath下

    最后一个文件,unitils-local.properties是可选的配置文件,它可以覆写项目的配置,用来定义开发者的具体设置,举个例子来 说,如果每个开发者都使用自己的数据库schema,你就可以创建一个unitils-local.properties为每个用户配置自己的数据库账 号、密码和schema。

    database.userName=john
    database.password=secret
    database.schemaNames=test_john

    每个unitils-local.properties文件应该放置在对应的用户文件夹中(System.getProperty("user.home"))。

    本地文件名unitils-local.properties也可以通过配置文件定义,在unitils.properties覆写unitils.configuration.localFileName就可以。

    unitils.configuration.localFileName=projectTwo-local.properties

    启用你的unitils

    unitils的功能是依赖于基础的测试框架,要使用unitils的功能,就必须先enable他们,这样做的目的也是为了容易扩展。目前支持的框架有:

    1. JUnit3 :org.unitils.UnitilsJUnit3
    2. JUnit4 :org.unitils.UnitilsJUnit4
    3. TestNG:org.unitils.UnitilsTestNG

    举个例子,如果使用JUnit3,你要使用unitils

    import org.unitils.UnitilsJUnit3;
    public class MyTest extends UnitilsJUnit3 {
    }

    通常你将创建你自己的包含一些公共行为的测试基类,如dataSource的注入,你可以让这个基类继承unitils测试类。

    当你使用的是JUnit4的话,你也可是使用@RunWith来代替继承unitils测试类

    import org.junit.runner.RunWith;
    import org.unitils.UnitilsJUnit4TestClassRunner;
    @RunWith(UnitilsJUnit4TestClassRunner.class)
    public class MyTest {
    }

    模块系统

    在开始举例之前,让我们先了解一下unitils概念。

    unitils的结构被设计成了十分容易扩展,每个模块提供了一种服务,当执行Test的时候通过TestListener调用相应的服务。

    image

    这种设计采用了一个统一的方式提供服务,如果你需要加入其他的服务,无需去改编测试基类(UnitilsJUnit4这些类)。要加入新的服务只需要添加一个新的模块并在unitls配置文件中登记这个模块。

    目前unitils中所有有效的模块如下:

    1. DatabaseModule 数据库单元测试的维护和连接池。
    2. DbUnitModule 使用DBUnit来管理测试数据。
    3. hibernatemodule 支持Hibernate的配置和自动数据库映射检查。
    4. EasyMockModule 支持创建mock和宽松的反射参数匹配。
    5. InjectModule 支持在一个对象中注入另一个对象。
    6. SpringModule 支持加载spring的上下文配置,并检索和Spring Bean注入。
  • 相关阅读:
    CF343D Water Tree
    CF340B Maximal Area Quadrilateral
    测试环境/生产环境,接口地址配置
    json-server MOCK方案
    vscode prettier保存代码时自动格式化
    蓝鲸6.0前置准备
    nginx日志提取案列
    蓝鲸模拟考试
    部署维护
    第一次模拟考
  • 原文地址:https://www.cnblogs.com/shine_cn/p/2473743.html
Copyright © 2020-2023  润新知