采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,您的视频中有提到service层的测试,但是视频中都是以打印输出的方式,然后进行肉眼判别。 我想问的是,实际生产中应该用断言去验证吧? 但是涉及到数据库中的数据,数据又可能经常会变动,我们如何保证测试的幂等性,大型项目的service,或者Controller层的单元测试最佳实践应该如何落地? 十分苦恼,忘老师指点
同学你好:
通过打印输出的方式是惯用,但是也是偷懒的方式,基本上企业级开发上面大多都会这样。如果真的想要去做理论上比较好的测试用例,可以使用内存数据库,可以参考这篇文章:https://jimolonely.github.io/2018/10/31/java/020-spring-boot-unit-test-with-h2db-in-memory/
不过,大多数情况下,测试用例不是很重要,只是局限于理论而已。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
谢谢老师的耐心解答,但是我内心还是有疑问那么多的测试类都要用肉眼看吗?还有devops中的自动化测试流程中的测试,还有自动可言吗?对于后接手代码的工程师,如何保证自己的代码没有动坏之前的逻辑,用肉眼从头再看一遍打印输出,那工作量岂不是翻倍增长了?
同学你好,如果要写完备的测试用例,当然也是可以的,使用内存数据库,把表和数据都建立在内存中就可以了。不需要使用肉眼来看。
谢谢老师,可能我的表述有问题,这么说吧,我最想知道的是如何使用断言的方式对service或者controller进行测试,尤其是设计数据库表操作的情况,比如说数据库记录经常变化,我们的断言如何保证幂等性;对数据库的操作是否真的成功了等等。 当然我能力有限,但是个人觉得这样的测试应该做,但没有搜索到相关的内容,所以想问问老师有没有什么最佳实践或者是推荐的书籍等(您之前的答复我看了,使用h2可以提高测试执行的效率,其中也简单举例了对于数据库操作记录个数的断言,对于他的这种情况我也能想到)
登录后可查看更多问答,登录/注册
广告营销系统,未来大中型企业的标配
1.8k 14
3.4k 10
1.2k 10
1.3k 8
1.1k 8