Android使用Mockito访问resources中的文件

背景

在我们使用Mockito写Unit Test代码的时候,经常需要造各种mock数据。但是有些情况我们需要mock的数据很大并且复杂。手动造数据的方式就不太适合了,可以考虑换一种思路

思路

在平时开发是,我们经常是从后端(backend)发送请求,拿到json数据之后展示到界面(UI)上。介于此操作上,我们完全可以在数据请求时,将backend返回的json数据保存在本地的一个File中,通过读取此File中的json数据,然后通过Gson将json数据转换为JsonObject。最后使用此JsonObject进行 Mock test

做法

/src/test/ 文件夹下创建 resources 文件夹,如下所示:

这里写图片描述

读取resources中的json流数据
@Test
    public void accessJsonInResources() {
        ClassLoader loader = ClassLoader.getSystemClassLoader();

        try {
            String json = Files.lines(Paths.get(loader.getResource("data.json").toURI()))
                    .parallel()
                    .collect(Collectors.joining());

            Gson gson = new Gson();
            CourseNodeWrapper courseNodeWrapper = gson.fromJson(json, CourseNodeWrapper.class);
            Object lastKey = courseNodeWrapper.getLastKey();

            System.out.println("json is " + json);
            System.out.println("lastKey is " + lastKey);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
    }

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值