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