2016-03-28 2 views
0

私はDaoインターフェイスを注入しようとしているときにnull値を取得しています。 テストケースを作成しているときに、ここにサンプルコードがあります。なぜ私は私が嘲笑したり、オブジェクトを注入しているときにnull値を取得していますか?

@Mock 
private ServiceUriLocator serviceLocator; 
@Mock 
private SessionDao sessionDao; 
ActiveSession session; 
AccountData accountdata; 
@InjectMocks 
Account account 

私は上記のコードのアカウント値で

@Test 
public void testActivate() 
{ 
    Response response=account.activate(accountdata). 
} 

private Accountdata accountdata(){ 
accountdata.setFirstName("Employee_name"); 
accountdata.LastName("Employee_Last_Name"); 
return accountdata; 
    } 

のようなメソッドの内部で使用しています。この上記のコードは、私がnullポインタ例外を取得しています理由ですnullです。 誰もが私がモック値を注入するためのnull値を取得している理由をcalrifyすることができます。

答えて

0

モックフレームワークを使用してテストケースを実行する際には、多くの要因があります。

  1. ランナーの設定はありますか?あなたはどのランナーと一緒に走っていますか? モックで動くのに役立つMockitoJunitRunnerでなければならない
  2. whenステートメントは同じモックオブジェクトに書かれていますか? これは同じモックオブジェクトと一致する必要があります
  3. 入力文字列/データはwhenと一致していますか? これは、同じ入力

(service.execute( 'HI'))thenReturn()でなければなりません。

場合(service.execute( 'こんにちは'))thenReturn()とは異なります。

  1. whenはどこに書かれていますか? setup - @Beforeレベルまたはテストメソッドレベル?

書かれたグローバル・ステートメントは、すべての試験方法に適用されるので、あなたは@Before方法でwhen文を作成しながら、注意してください。

これらはデバッグポイントの一部です。

+0

これはデバッグ要因です。 – Ankit

+0

@Ankitここでのポイントは、これらすべての手順を確認することです。詳細を追加するために質問を再フォーマットすることを検討してください。 – VinayVeluri

関連する問題