メソッドが呼び出されたかどうかを確認する必要がある単体テストを作成しようとしています。JUnit、Mockito、PowerMock を使用しています。
public クラス 請求書 { 保護されたボイド createInvoice() { //ここにランダムなもの markInvoiceAsBilled("57"); } protected void markInvoiceAsBilled(String code) { // 請求済みとしてマーク } }
したがって、ここでテスト対象のシステムはInvoice
です。私はこのテストを実行しています:
パブリック クラス InvoiceTest { @テスト public void testInvoiceMarkedAsBilled() { 請求書sut = new Invoice(); 請求書 sutSpy = spy(sut); sut.createInvoice(); // markInvoiceAsBilled() が呼び出されたことを確認したい } }
この例は、実際のコードがどのように見えるかの単なる例です....
私の問題は、モック化されたオブジェクトでメソッドが呼び出されたかどうかのみを確認できるとmockitoが言っていることです...しかし、テスト対象のオブジェクトであるため、このオブジェクトをモックしたくありません。テストしているオブジェクトをスパイできることはわかっているので、私が試したことは次のとおりです。
verify(sutSpy).markInvoiceAsBilled("57");
私がやろうとしていることは不可能ですか?それとも、私はそれについて間違った方法で進んでいますか?
みんな、ありがとう :)