使用jMock注入模拟对象

时间:2012-02-26 19:51:04

标签: annotations jmock inject

我正在尝试使用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也有这样的东西吗?

1 个答案:

答案 0 :(得分:2)

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