[Seasar-user:13921] Re: [Dbflute] Re: Re:[Dbflute] JUnitテストの時LabelH=?utf-8?b?ZWxwZXLjga7kvb/jgYTmlrnjgavjgaTjgYTjgabos6rllY/jgYzjgYI=?==?utf-8?b?44KK44G+44GZ44CC?=
kubo
[E-MAIL ADDRESS DELETED]
2008年 4月 24日 (木) 16:28:25 JST
久保です。
とりあえず本題とそれますが、
> @Before
> public void setUp() throws Exception {
> super.setUp();
> include("dbflute.dicon");
> include("jdbc.dicon");
> include("app_aop.dicon");
> include("app.dicon");
> include("customizer.dicon");
> include("teedaCustomize.dicon");
> include("s2container.dicon");
> include("creator.dicon");
> include("convention.dicon");
> }
は、もし「app.dicon」で他のdiconをincludeしているのであれば、
> public void setUp() throws Exception {
> super.setUp();
> include("app.dicon");
> }
だけでOKなはずです。
> 今はuserexistmsgにlabel.propertiesより読み込んだ値が入らなくて
> nullになります。。
> 要するに普通はuserexistmsgに'Duplication'とstring値が入りますが、
> テストの時は入らないです。
に関しては、ちょっと自分ではわかりません。
申し訳ございません。
2008/4/24 Yuu Koseki <[E-MAIL ADDRESS DELETED]>:
>
> 久保様、
>
> お答えありがとうございます。
>
> テストクラスのsetUp()を下記の様にcodingして解消出来ました。
>
> @Before
> public void setUp() throws Exception {
> include("dbflute.dicon");
> include("teedaCustomize.dicon");
> }
>
> でも今はテストされるpageクラスの
> userexistmsg = lp.getLabelValue("userexist");
>
> 部分で
> lp.getLabelValue("userexist")でnullPointExceptionも出ないし
> system.out.plintln(lp); して見てもlpにちゃんと値が入っています。
> (前投稿した問題解消)
>
> でも問題がもう発生しました。
> 今はuserexistmsgにlabel.propertiesより読み込んだ値が入らなくて
> nullになります。。
> 要するに普通はuserexistmsgに'Duplication'とstring値が入りますが、
> テストの時は入らないです。
>
> この問題は
> @Before
> public void setUp() throws Exception {
> super.setUp();
> include("dbflute.dicon");
> include("jdbc.dicon");
> include("app_aop.dicon");
> include("app.dicon");
> include("customizer.dicon");
> include("teedaCustomize.dicon");
> include("s2container.dicon");
> include("creator.dicon");
> include("convention.dicon");
> }
>
> とやって見ても同じです。
> labelHelper自体はもうnullPointExceptionを発生しませんが、
> propertiesファイルをちゃんと読み込まなくて
> null値を読み込みます。
>
> 結局assertNotNull(page.userexistmsg); 部分の
> テストを通過しません。(userexistmsgに値がnullので。。)
>
> codingソースは13908, 13915の質問の時と同じです。(setUpメソッドだけ上記の様に変わりました)
>
> 御存じの方お答えお願いいたします。
>
>
>
> ----- Original Message -----
> 送信者: kubo<[E-MAIL ADDRESS DELETED]>
> 宛先: [E-MAIL ADDRESS DELETED]
> 日付:Thursday, April, 24, 2008, 03:17 PM
> 件名: [Seasar-user:13916] Re:[Dbflute] JUnitテストの時LabelH=?utf-8?b?ZWxwZXLjga7kvb/jgYTmlr
> njgavjgaTjgYTjgabos6rllY/jgYzjgYI=?==?utf-8?b?44KK44G+44GZ44CC?=
>
> >
> >
> > 久保です。
> >
> > TeedaのLabelHelperは、どこかのdiconで明示的に
> > 定義されているかと思います。
> > (例えば、app.diconとか)
> >
> > どのLabelHelperを定義したdiconを
> > テストケースのsetup()にてinclude()する必要がありますので、
> > そちらの確認お願いします。
> >
> >
> > ※Behaviorがテストケースで利用できているのも
> > setup()にてdbflute.diconがIncludeされているからです。
> >
> >
> > 2008/4/24 Yuu <[E-MAIL ADDRESS DELETED]>:
> > > いつもお世話になります。
> > >
> > > Junitテストの時org.seasar.teeda.extension.util.LabelHelperのgetLabelValue
> > > メソッドの使い方について質問しております。
> > >
> > > RegisterPage.javaクラスの
> > >
> > > import org.seasar.teeda.extension.util.LabelHelper;
> > > ..中略..
> > >
> > > public class RegisterPage {
> > > public LabelHelper lp;
> > > ..中略..
> > >
> > >
> > > public Class doSave() {
> > > boolean userchk;
> > > userchk = usercheck();
> > >
> > > if (userchk){
> > > userexistmsg = lp.getLabelValue("userexist");
> > > System.out.println(lp + " original lp");
> > > return null;
> > > }
> > > else
> > > {
> > > insert();
> > > return LoginPage.class;
> > > }
> > > }
> > >
> > > をテストする時
> > > userchkがtrueの場合userexistmsg = lp.getLabelValue("userexist");
> > > 部分でnullPointExceptionが発生しています。
> > >
> > >
> > >
> > > テストソースは
> > >
> > > @Test
> > > public void testDoSave() {
> > > // ## Arrange ##
> > > RegisterPage page = new RegisterPage();
> > > page.userdetailsBhv = this.userdetailsBhv;
> > > page.lp = this.lp;
> > >
> > > System.out.println(lp + " lp");
> > > // ## Act ##
> > > page.uid = "test";
> > > Class result = page.doSave();
> > > assertNull(result);
> > > assertNotNull(registerPage.userexistmsg);
> > > }
> > >
> > > です。Class result = page.doSave(); 部分でnullPointExceptionが発生します。
> > >
> > > 因みに
> > > LabelHelper lp;
> > > UserdetailsBhv userdetailsBhv;
> > > はテストクラスの宣言部に宣言されています。
> > >
> > > userdetailsBhvは問題ありません。(値がちゃんと入ってる)
> > >
> > > label.propertiesファイルがテストの時は接近できないですか。
> > > system.out.printlnで確認して見ても
> > > 普通の時はlpに何か値が入っていますが(ちゃんと動いてる、propertiesファイル
> > > のuserexist=.. 部分をちゃんと読み込んでる)
> > > テストの時はnullが入っています。
> > > propertiesファイルも色んな所に置いて見ましたが解消できません。
> > >
> > > 解消する方法を御存じの方はお答えお願いいたします。
> > >
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内