隨筆 - 23  文章 - 11  trackbacks - 0
          <2008年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          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注入。
          posted on 2008-04-07 00:45 小小~咖啡豆 閱讀(2796) 評論(2)  編輯  收藏 所屬分類: 測試

          FeedBack:
          # re: Unitils開發指南(二) 2008-08-21 14:56 learnsea
          寫的不錯,相當的好!!繼續  回復  更多評論
            
          # re: Unitils開發指南(二) 2008-10-07 18:19 crane.ding
          還得配 database.dialect 值:'oracle', 'db2', 'mysql', or 'hsqldb'等等
          例如:1.database.dialect = oracle
          2.database.dialect = mysql
            回復  更多評論
            
          主站蜘蛛池模板: 黑龙江省| 宁武县| 卢氏县| 门源| 高陵县| 临海市| 疏附县| 偏关县| 上犹县| 南靖县| 健康| 亳州市| 高州市| 米易县| 岳阳县| 泉州市| 宁海县| 芮城县| 格尔木市| 土默特右旗| 怀化市| 蕉岭县| 南涧| 保靖县| 井陉县| 彭泽县| 东丽区| 菏泽市| 鹤庆县| 句容市| 麟游县| 克什克腾旗| 龙州县| 朝阳区| 林州市| 阳信县| 临澧县| 万载县| 曲阜市| 资溪县| 福州市|