1. ホーム
  2. java

[解決済み] Mockitoを使用して特定のメソッドが呼び出されていないことを確認するにはどうすればよいですか?

2022-03-23 22:49:34

質問

あるメソッドが ではない は、オブジェクトの依存関係で呼び出されるのですか?

例えば

public interface Dependency {
    void someMethod();
}

public class Foo {
    public bar(final Dependency d) {
        ...
    }
}

Fooのテストと

public class FooTest {
    @Test
    public void dependencyIsNotCalled() {
        final Foo foo = new Foo(...);
        final Dependency dependency = mock(Dependency.class);
        foo.bar(dependency);
        **// verify here that someMethod was not called??**
    }
}

解決方法は?

さらに意味深長な:

import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;

// ...

verify(dependency, never()).someMethod();

この機能に関するドキュメントはこちら §4 "正確な起動回数の検証 / 少なくとも x / 決して"。 を、そして never javadocは ここで .