【问题标题】:Inject mock object using jMock使用 jMock 注入模拟对象
【发布时间】:2012-03-16 10:14:29
【问题描述】:

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

【问题讨论】:

    标签: annotations jmock inject


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多