[Seasar-user:13915] [Dbflute] JUnitテストの時LabelHelperの使い方について質問があります。
Yuu
[E-MAIL ADDRESS DELETED]
2008年 4月 24日 (木) 14:49:23 JST
いつもお世話になります。
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 メーリングリストの案内