相关疑难解决方法(0)

为什么Mockito @InjectMocks可能是一件可以避免的事情?

为什么@InjectMocks这种测试可能会避免这种情况.

@RunWith(MockitoJUnitRunner.class)
public class MyClassTest {

    @Mock
    private Bar bar;

    @InjectMocks
    private Foo foo; // created by Mockito

    @Test
    public void shouldCallMethod() {

        // when
        foo.myMethod();

        // then
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Foo.java

public class Foo {

    private final Bar bar;

    public Foo(Bar bar) {
        this.bar = bar;
    }
...
Run Code Online (Sandbox Code Playgroud)

我在对这个答案的评论中读到了这个:https://stackoverflow.com/a/21172873/516167

关于@InjectMocks

标记应在其上执行注射的区域.

  • 允许速记模拟和间谍注射.
  • 最大限度地减少重复模拟和间谍注射.

参考:@InjectMocks JavaDoc.

java unit-testing dependency-injection mockito

7
推荐指数
1
解决办法
2368
查看次数