ホームページ >Java >&#&チュートリアル >Mockito で Void メソッドを効果的にモックするにはどうすればよいですか?

Mockito で Void メソッドを効果的にモックするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-25 03:39:08514ブラウズ

How to Mock Void Methods in Mockito Effectively?

Mockito を使用した Void メソッドのモック

Mockito での void メソッドのモックは、doThrow()、doAnswer()、doNothing のメソッドを使用して実現できます。 () および doReturn() ファミリ。これらのメソッドを使用すると、戻り値の型が void であるモックされたメソッドの動作を指定できます。

例:

// Mock a void method that throws an exception
Mockito.doThrow(new Exception()).when(instance).methodName();

// Mock a void method that performs some action
Mockito.doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(instance).methodName();

特定の例では、 World クラスの setState() メソッドを次のように記述します。

// Mock the World class
World mockWorld = mock(World.class); 

// Mock the setState method to print the arguments passed to it
doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(mockWorld).setState(anyString());

ここで、mockWorld.setState() 内で呼び出します。テストでは、提供された Answer が実行され、正しい引数がメソッドに渡されたことを確認できます。

以上がMockito で Void メソッドを効果的にモックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。