メソッドが呼び出されたかどうかを確認する必要のあるユニットテストを作成しようとしています。私はJUnit、Mockito、PowerMockを使用しています。テスト中のシステム(メソッドではない)でメソッドが呼び出されているかどうかを確認する方法
public class Invoice { protected void createInvoice() { // random stuff here markInvoiceAsBilled("57"); } protected void markInvoiceAsBilled(String code) { // marked as billed } }
ここで、私のシステムは、Invoice
です。私はこのテストを実行している:
public class InvoiceTest { @Test public void testInvoiceMarkedAsBilled() { Invoice sut = new Invoice(); Invoice sutSpy = spy(sut); sut.createInvoice(); // I want to verify that markInvoiceAsBilled() was called } }
この例では、実際のコードがどのように見えるかのほんの一例です....
を私の問題は、mockitoは、メソッドが呼び出された場合にのみ、検証できると言うことです嘲笑されたオブジェクトに...しかし、私はこのオブジェクトを模擬したくない、それはテスト対象のオブジェクトだからです。私はあなたがテストしているオブジェクトをスパイすることができます知っているので、ここで私が試したものです:
verify(sutSpy).markInvoiceAsBilled("57");
が、私は可能ではないが何をしようとしていますか?それとも間違った方向に進むのですか?
おかげでみんな:)