[Seasar-user:13916] Re: [Dbflute] JUnitテストの時LabelHelperの使い方について質問があります。

kubo [E-MAIL ADDRESS DELETED]
2008年 4月 24日 (木) 15:17:19 JST


久保です。

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