如何使用Mockito模拟java.util.base64方法

时间:2018-06-29 08:07:50

标签: java junit mocking base64 mockito

我有REST API,可返回json响应 我正在使用Mockito编写REST api方法的测试用例

json中有一个xml响应,所以我正尝试使用Base64对json中的xml字符串进行编码

我的测试用例在REST api方法中执行Base64.encode行时抛出空指针异常

我不能使用powermockito,它在组织中没有使用 我该如何使用Mockito本身解决此问题

下面是引发错误的代码行

Base64.getEncoder().encodeToString((message)).getBytes(StandardCharsets.UTF_8);

这里的消息是xml字符串。

1 个答案:

答案 0 :(得分:0)

确定要在JSON中嵌入XML吗?如果您可以将XML转换为JSON并且不进行任何编码,那么也许会使API变得更容易?

但是,如果您确定必须将XML嵌套在JSON中,则应该将Base64.getEncoder()结果作为您对类的依赖项传递(依赖项注入)。然后在测试中对其进行模拟,然后将该模拟传递给您的课程。