服务层单元测试是连接数据库测试还是用mock测试?

发布于 2021-12-02 07:31:56 字数 468 浏览 923 评论 6

刚入行没多久,要写单元测试,目前阶段先针对服务层进行测试。

3种方法:

1.用真实数据库测试增删查改,dao层也一起测试了。因为数据库内容随时在变,每次测试前先针对每个测试方法跑一下sql脚本查出结果,再修改单测方法的Assert,然后跑单测。如果有50个单测,就要跑50遍不同sql,修改50个单测方法。如果需要数据,先插入一些数据。(这是我们组长要求的做法。)

2.测试前清空相关表的内容,再插入数据,根据插入的数据进行Assert。这样将dao层也测试到了,不需要每次测试前先跑sql。

3.用mock测试,隔离dao层,根据模拟出来的数据进行Assert判断。这里尽量保证dao层的正确性,如果需要dao层测试,再考虑。

第一种方法,操作繁琐,浪费时间。

第二种方法,在插入数据时需要保证外键的正确性,比第一种方法要好。

第三种,未测试dao层,比较快。

不知道你们的服务层怎么测试的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

只为守护你 2021-12-08 21:12:11

引用来自“BoXuan”的评论

我一般做法就是统一接口api入口,而每个业务功能规定一个请求json格式和响应json格式,即一个请求和响应有一个前后端协定的基于json的通信协议。

风透绣罗衣 2021-12-08 09:51:11

我一般做法就是统一接口api入口,而每个业务功能规定一个请求json格式和响应json格式,即一个请求和响应有一个前后端协定的基于json的通信协议。

冬天旳寂寞 2021-12-07 22:59:10

引用来自“BoXuan”的评论

而且做成接口服务的另外的好处就是方便压测,现在微服务架构的局部功能测试都是很方便的,测试部分无需程序人员做,仅需要测试人员按照接口定义的规范写一个请求数据就行了,而且业务逻辑以及数据库方面都能测试到位。按照你这个描述,感觉架构上就是古老级别的,后端包揽了很多前端的工作。

长安忆 2021-12-07 04:08:02

而且做成接口服务的另外的好处就是方便压测,现在微服务架构的局部功能测试都是很方便的,测试部分无需程序人员做,仅需要测试人员按照接口定义的规范写一个请求数据就行了,而且业务逻辑以及数据库方面都能测试到位。按照你这个描述,感觉架构上就是古老级别的,后端包揽了很多前端的工作。

风苍溪 2021-12-06 16:43:17

引用来自“BoXuan”的评论

如果做成纯数据接口服务就好做测试了,只需要编写对应的接口请求数据,而不需要编写繁琐的测试代码。

长安忆 2021-12-04 11:37:29

如果做成纯数据接口服务就好做测试了,只需要编写对应的接口请求数据,而不需要编写繁琐的测试代码。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文