[Seasar-user:13734] Re: teedaでのテストについて(Pageクラスでdbfluteを利用した場合)

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 4月 14日 (月) 18:30:23 JST


小林 (koichik) です.

Date:    Mon, 14 Apr 2008 17:25:40 +0900
From:    <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:13732]  teedaでのテストについて(Pageクラスでdbfluteを利用した場合)
> テストクラスを作成した場合、BhvプロパティがDIされない為、

これがどういうことかよく分かりませんが,
ちゃんと dicon などが整っていればテスト環境でも
DI されるはずです.
自分で new LoginPage() とかやったらダメですが.

> 以下の様にテストクラスを作成して、S2ContainerFactoryからBhvクラスを取得して

テストであってもコンテナは作成しないように
しませう.

> public class LoginPageTest extends TeedaTestCase{

TeedaTestCase を使う必要はないような.
JSF のコンポーネントをテストするなら便利ですが,
Page クラスのテストなら普通に S2TestCase で
十分ではないかと思います.

ともあれ (JW),以下のような感じでいいんじゃ
ないかと.

public class LoginPageTest extends S2TestCase {
  LoginPage loginPage;

  protected void setUp() {
    include("dbflute.dicon");
  }

  public void testDoCheck() throws Exception{
    loginPage.atxt = "sd";
    loginPage.pwd="sd"    ;
    Class a = action.doCheck();

    // action.Check();
    // ## Assert ##
    System.out.println("aaaPage", a.getClass().getName());
  }
}

ポイントは,テスト対象の Page クラスは
フィールドを用意すれば DI されるということと,
dbflute.dicon をインクルードしていること,です.

試してないのでまずい点があるかもしれませんが,
まずはこんな感じで.

うまく動かない場合は s2container.dicon を
見せてください.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内