我正在尝试使用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。
我知道莫基托有@InjectMocks -- jMock也有这样的东西吗?
发布于 2012-02-27 17:09:24
JMock不拦截自动创建实例。这是设计上的选择。我们的观点是,内部创建的对象不应该太复杂,以至于它们需要模拟。任何做过的事情都应该传递进来,并且依赖项显式化。还有其他框架会做如此聪明的事情,我相信很快会有人在这里发布一个链接:)
https://stackoverflow.com/questions/9456561
复制相似问题