Mocking an ObjectReader?



我正在尝试编写一个单元测试,并且我正在测试的类在创建时通过了一个模拟的ObjectMapper。。。但是,我试图测试的代码是一种方法,该方法然后从该映射器创建一个ObjectReader(这比在整个文件中使用映射器等更好)。

现在,我相信,在我的测试中,我可能需要做的是。。。就是当读者被要求时,有一些嘲笑读者的东西。。。但我不知道该怎么做。。。

我这样嘲笑我的映射器:

ObjectMapper mockMapper = mock(ObjectMapper.class);

然后在正常工作的ACTUAL类中,我创建如下读取器:

ObjectReader objectReader = mapper.reader(ObjectNode.class);

现在,我假设这里的问题是映射器被嘲笑了,所以当代码试图创建读取器时,它显然是空的。

所以在我的测试中,我知道我可能需要做这样的事情:

when(mockMapper.reader(ObjectNode.class)).thenReturn(mock(ObjectReader(ObjectNode.class)));

但我知道这是不对的(因为它不起作用)——我需要一些指导来让它发挥作用。。。

在此感谢所有的帮助。谢谢

如果您可以编辑您的问题以包含测试中的代码,这将使问题更加清晰。我正试图用我从你的问题中所理解的来回答。您可以创建ObjectReader类的真实对象,也可以模拟为

ObjectReader objectReader = mock(ObjectReader.class);

现在使用mockito返回ObjectReader类。

when(mockMapper.reader(any(ObjectNode.class))).thenReturn(objectReader));

相关内容

  • 没有找到相关文章