1

ドメインクラスの単体テストを作成していますが、次のテストを実行しようとするとNPEが発生します。

def st

void setUp(){
    super.setUp()
    mockForConstraintsTests(Student)        
    st=new Student(firstName:"Feras",lastName:"Ahmad")


}

void testMinSize() {        
    st.firstName="J"
    assertFalse st.validate();              
}

testMinSizeメソッドの最初の行でNPEを取得しました。何が問題なのですか?すべてのテストの前にsetUpメソッドが呼び出されると思います。これは本当ですか?

ありがとう、

4

2 に答える 2

1

多分あなたは@Before注釈を試すことができます

@Before
void setUp(){
    super.setUp()
    print "I'm there"
    mockForConstraintsTests(Student)        
    st=new Student(firstName:"Feras",lastName:"Ahmad")
}

ドキュメントには、注釈が付けられている場合と付けられていない場合があります。たぶんそれはgrails/JUnitのバージョンに依存します。

于 2012-11-05T13:02:36.980 に答える
1

@Mock(Student)を追加

テストクラスのトップに

于 2012-11-05T15:22:50.430 に答える