序文
以前では、「PowerMock学習()のエントリーPoweMock」の記事、powermockの用途のいくつかの簡単なの言及を持っていますが、まだ未完成のエントリは、私はそれに付着し、ブログを更新し続けることを学ぶしたいと思います。
APIをモック
PS:唯一の使用例APIの説明を更新します。
- Powermockito.mock():主にモックオブジェクトを対応するクラスによって作成された他のeasymockプロキシ(エージェント)は異なる方法を使用して作成されたが、操作中に作成されたクラスファイルのバイトコードの動的変更。
- Do..when..then:英語意味で理解することができ、どの程度それから、何をすべきか、どのような時です。
- 確認します。検証はなし、時間の戻り値として理解することはできない、研究かどうかを確認します。
高度なエントリ
それから私は少し難しい要求ビット、私たちは生徒の操作を作成する必要が戻ってきます。
次の二つの方法のDAOやサービスに追加する必要があります:
DAOは加えました:
/ ** *学生を作成します * * @paramの学生 * / パブリック 無効createStudent(学生学生){ スロー 新)(UnsupportedOperationExceptionが。 }
サービスが追加さ:
/ ** *学生を作成します * @paramの学生 * / パブリック 無効createStudent(学生学生){ studentDao.createStudent(学生)。 }
あなたはcreateStudentのためのユニットテストを書く場合は、確かに間違っている、それはデータベース・リソースが存在しないことは明らかである、例が言われてきた、ここでは詳述されていない、焦点はこののない検証されていない空、そしてどのようにすることを、テストの戻り値の型でありますテスト?
モック後createStudent方法は、実際には何もしません、私は慎重にダウンだと思う、私たちはcreateStudentメソッドを呼び出して、テストケース、より多くのコールの成功または失敗よりも何に基づいて、あなたは呼び出しが成功したか失敗したと仮定することができます。..
次に、模擬完全検証、特に次のサンプルコードを検証するためにこの方法を使用して:
@Test 公共 ボイドtestCreateStudentWithMock(){ StudentDao studentDao = PowerMockito.mock(StudentDao。クラス)。 学生の学生 = 新学生(); 。)(PowerMockito.doNothingとき(studentDao).createStudent(学生)。 StudentService studentServiceは = 新しいStudentService(studentDaoを)。 studentService.createStudent(学生)。 Mockito.verify(studentDao).createStudent(学生)。 }
Mockito.verifyは、主に方法のうちモックオブジェクトが呼び出されたかどうかを確認するために使用されたことにより、再び実行することができます。
このモック以上に入門。