-1

私はjunitとmockitoを初めて使用するので、問題は明らかなものかもしれません。「テスト オブジェクト」内でローカルにインスタンス化されたオブジェクトが null であるという問題があります。この特定のセクションで呼び出される private / protected / final メソッドはないため、それは問題ではありません。また、他のプライベート メソッド呼び出しにも PowerMockito を使用しています。

テストするクラスのセクション: null ポインター例外が user.getId() でスローされます - ここの最後の行:

SupportProdUpdatesImpl pAdd = new SupportProdUpdatesImpl();       
Add.setQueryProcssStatus(form.getQueryProcssStatus());          

pAdd.setQueryTitle(form.getQueryTitle().toUpperCase());         
pAdd.setQueryType(form.getQueryType().toUpperCase());

logger.debug("*** query String = " + form.getQuerySQL() );
    pAdd.setQuerySQL(StringUtils.trim(form.getQuerySQL()));
    pAdd.setMakerId(user.getId());

私のテストでは、

User user = mock(User.class) // interface of user
when(user.getId()).thenReturn(new Integer(111)));

私が間違っていることを理解していません..どんな助けもいただければ幸いです!

ありがとう

4

2 に答える 2

2

userテスト中のクラスにモックを提供していないことが原因だと思います。

于 2013-06-27T13:38:29.420 に答える
1

モックの代わりにスパイを試してみましたか? http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#13

于 2013-06-27T14:49:30.043 に答える