[Seasar-user:13919] [Dbflute] Re: Re:[Dbflute] JUnitテストの時LabelH=?utf-8?b?ZWxwZXLjga7kvb/jgYTmlrnjgavjgaTjgYTjgabos6rllY/jgYzjgYI=?==?utf-8?b?44KK44G+44GZ44CC?=

Yuu Koseki [E-MAIL ADDRESS DELETED]
2008年 4月 24日 (木) 16:12:22 JST


久保様、

お答えありがとうございます。

テストクラスの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 メーリングリストの案内