org.seasar.s2click.test
クラス S2ClickServiceTestCase<T>

java.lang.Object
  上位を拡張 junit.framework.Assert
      上位を拡張 junit.framework.TestCase
          上位を拡張 org.seasar.framework.unit.S2FrameworkTestCase
              上位を拡張 org.seasar.extension.unit.S2TestCase
                  上位を拡張 org.seasar.s2click.test.S2ClickTestCase
                      上位を拡張 org.seasar.s2click.test.S2ClickServiceTestCase<T>
型パラメータ:
T - テスト対象のサービスクラス
すべての実装されたインタフェース:
junit.framework.Test

@Experimental
public abstract class S2ClickServiceTestCase<T>
extends S2ClickTestCase

サービスクラスのテストケースの抽象基底クラスです。 S2TestCaseの機能に加え、さらにユニットテストを省力化するために以下のような機能を提供します。

初期データの自動投入
テストクラス名_テストメソッド名_data.xls という名前のExcelファイルが テストクラスと同じパッケージに存在する場合、そのデータを自動的にデータベースに投入します。
Excelファイルの自動生成
テストメソッドにGenerateExcelアノテーションを付与しておくことで、 期待値として比較するためのExcelファイルを生成することができます。 生成されるExcelファイルはテストクラス名_テストメソッド名_expect.xlsというファイル名になります。 生成されるのは初期データの自動投入直後になります。 すでにExcelファイルが存在する場合はなにも行いません。
GenerateExcelアノテーションは主にデータベースの検索処理の結果を検証する際に使用するExcelファイルの生成に利用できます。 アノテーションの記述によってExcel生成時の検索条件やソート順、対象カラムを指定できるので、検証したいデータに応じたExcelを生成することができます。
DBの内容とExcelをアノテーションで比較
テストメソッドにAssertアノテーションを付与しておくことで、 指定したテーブルのデータをテストクラス名_テストメソッド名_expect.xls という名前のExcelファイルと比較することができます。 さらに、まだExcelファイルが存在しない場合はデータベースから生成されます。 このときの生成のタイミングはGenerateExcelアノテーションで生成する場合と異なり、 テストメソッドの実行直後になります。
Assertアノテーションは主にデータベースの更新処理を行った結果が正しいかどうかの検証に使用します。
なお、Excelファイルの自動生成機能を使用するにはS2ClickTestConfigをdiconファイルに登録し、 sourceDirプロパティにテストケースのソースフォルダを指定しておく必要があります。 テスト時のみ読み込むdiconファイルを用意し、以下のように記述を追加してください。
 <component class="org.seasar.s2click.test.S2ClickTestConfig" instance="singleton">
   <property name="sourceDir">"test"</property>
 </component> 

作成者:
Naoki Takezoe

フィールドの概要
protected  S2ClickTestConfig config
           
protected  org.seasar.extension.jdbc.JdbcManager jdbcManager
           
protected  T service
          テスト対象のサービスクラスのインスタンス。
 
クラス org.seasar.s2click.test.S2ClickTestCase から継承されたフィールド
configService, context, request, response, servlet, templateService
 
クラス org.seasar.framework.unit.S2FrameworkTestCase から継承されたフィールド
ENV_PATH, ENV_VALUE
 
コンストラクタの概要
S2ClickServiceTestCase()
           
 
メソッドの概要
protected  void doRunTest()
           
protected  org.seasar.extension.dataset.DataSet getExpectDataSet()
          現在実行中のテストメソッドに対応した期待値のExcelファイルからDataSetを作成します。
protected  void setUpAfterContainerInit()
           
 
クラス org.seasar.s2click.test.S2ClickTestCase から継承されたメソッド
getField, getRootDicon, load, setConfigService, setUp
 
クラス org.seasar.extension.unit.S2TestCase から継承されたメソッド
assertBeanEquals, assertBeanListEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertMapEquals, assertMapListEquals, deleteDb, deleteTable, getConnection, getDatabaseMetaData, getDataSource, getSqlWriter, needTransaction, readDb, readDbBySql, readDbByTable, readDbByTable, readXls, readXls, readXlsAllReplaceDb, readXlsAllReplaceDb, readXlsReplaceDb, readXlsReplaceDb, readXlsWriteDb, readXlsWriteDb, reload, reload, reloadOrReadDb, setupDataSource, tearDownBeforeContainerDestroy, tearDownDataSource, writeDb, writeXls
 
クラス org.seasar.framework.unit.S2FrameworkTestCase から継承されたメソッド
bindField, bindFields, convertPath, getComponent, getComponent, getComponentDef, getComponentDef, getContainer, getNamingConvention, getOriginalClassLoader, getRequest, getResponse, getServlet, getServletConfig, getServletContext, getTargetMethod, getTargetName, include, invoke, isAutoBindable, isRegisterNamingConvention, isWarmDeploy, normalizeName, register, register, register, register, register, resolveRootDicon, runBare, setRegisterNamingConvention, setRequest, setResponse, setServlet, setServletConfig, setServletContext, setUpAfterBindFields, setUpContainer, setUpForEachTestMethod, setWarmDeploy, tearDownBeforeUnbindFields, tearDownContainer, tearDownForEachTestMethod, unbindFields
 
クラス junit.framework.TestCase から継承されたメソッド
countTestCases, createResult, getName, run, run, runTest, setName, tearDown, toString
 
クラス junit.framework.Assert から継承されたメソッド
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

service

protected T service
テスト対象のサービスクラスのインスタンス。


jdbcManager

protected org.seasar.extension.jdbc.JdbcManager jdbcManager

config

protected S2ClickTestConfig config
コンストラクタの詳細

S2ClickServiceTestCase

public S2ClickServiceTestCase()
メソッドの詳細

setUpAfterContainerInit

protected void setUpAfterContainerInit()
                                throws java.lang.Throwable
オーバーライド:
クラス org.seasar.extension.unit.S2TestCase 内の setUpAfterContainerInit
例外:
java.lang.Throwable

doRunTest

protected void doRunTest()
                  throws java.lang.Throwable
オーバーライド:
クラス org.seasar.extension.unit.S2TestCase 内の doRunTest
例外:
java.lang.Throwable

getExpectDataSet

protected org.seasar.extension.dataset.DataSet getExpectDataSet()
現在実行中のテストメソッドに対応した期待値のExcelファイルからDataSetを作成します。 Excelファイルが存在しない場合はResourceNotFoundRuntimeExceptionが発生します。