2

我正在尝试使用 jMock 创建一个模拟对象。模拟对象看起来不错 - 但问题是它没有注入到测试类。这是我的代码:

@RunWith(JMock.class)
public class FeederFilterTest {

private TestedClass service;

@Mock
private TheMockedInterface mock;
    ...
}

@Service
public class TestedClass {

@Autowired
private TheMockedInterface interface;
...
    }

正如我所说 - 模拟对象按预期创建 - 但是当我调用使用的方法时TestClass-TheMockInterface我得到一个 NullPointerException。

我知道 Mockito 有@InjectMocks- jMock 也有类似的东西吗?

4

1 回答 1

2

JMock 不拦截自动实例创建。这是一个设计选择。我们的观点是,内部创建的对象不应该太复杂以至于需要模拟。所做的任何事情都应该被传入,并且依赖关系明确。还有其他框架会做如此聪明的事情,我相信很快就会有人在这里发布链接:)

于 2012-02-27T17:09:24.947 回答