不做单元测试的程序员都在耍流氓

昨天下班时遗留的bug,今天上班十几分钟终于解决了。

运行服务器不报错,f12看一下控制台发现数据没有传过来。一脸懵逼,因为下班了也就没弄了。旁边同事提醒我做单元测试。的确,很多时候因为懒都不愿去做这个,但很多的bug隐藏的很深,完全不好靠肉眼解决,这时就需要做单元测试了。

于是煎熬了一夜的我,第二天来到公司就开始写单元测试,从dao层开始,没问题,能正常和数据库交互,接着service,我滴乖乖,报错了
1.png

2.png

可以看到,虽然数据有两条,但没有存入成功,这样控制层肯定没取到结果,但这个错误控制台竟然没报。。。

看看代码,特么的谁写的,竟然这样写

        ResultData<List<Object>> result = new ResultData<>();
        // 获取用户列表
        List<User> users = userDao.getUser(userId, username);
        // 从第一页开始,每页10条数据
        PageHelper.startPage(pageNo, 10);
        PageInfo<User> page = new PageInfo<>(users);
        // 必须先set,不然报空指针异常
        // result.setData(new ArrayList<Object>());
        result.getData().add(users);
        result.getData().add(page);

把注释掉的这行加上就ok了。

由此可见,单元测试的重要性。

猜你喜欢

转载自blog.csdn.net/a_helloword/article/details/81178733