不懂就问,各位都是怎么进行单元测试(UT)的?

2021 年 7 月 1 日
 Jiangyf

测试框架推荐?

单元测试的要求是啥样的呢?

如何去组织和具体实施,有木有啥具体标准之类的?

关于测试的其他(性能测试等),如何成为一个合格的测试?

小弟 Java curd boy,希望从事相关行业的大佬不吝赐教,小弟感激涕零,蟹蟹~~

5703 次点击
所在节点    程序员
27 条回复
thetbw
2021 年 7 月 1 日
同求,公司没测试
joesonw
2021 年 7 月 1 日
看测试覆盖率呀。设立一个目标覆盖率,然后测试达标呗。
dustinth
2021 年 7 月 1 日
先看看这本书. Unit Testing Principles, Practices, and Patterns
MeatIndustry
2021 年 7 月 1 日
推荐了解一下测试驱动开发 TDD 。用 Mockito,Junit TDD 一个 SpringBoot 项目,你上面的问题都能多少得到解答。
scxiazi
2021 年 7 月 1 日
junit
xy90321
2021 年 7 月 1 日
传统软件企业
waterfall 开发项目
junit ➕ dbunit ➕ jmockit
要求 C1➕C2 100%覆盖
Cbdy
2021 年 7 月 1 日
Spring 项目:
testImplementation 'org.springframework.boot:spring-boot-starter-test'

非 Spring 项目:
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
stimw
2021 年 7 月 2 日
记得很多年前有篇文章叫 TDD 已死。。
Rocketer
2021 年 7 月 2 日
先写测试程序,输入是什么,输出应该是什么,都准备好。然后正式开始写程序,自己的程序必须能通过自己的测试,才能移交给下一环节。

问题是写单元测试程序的时间比写正是程序的时间还长,出错的程序又是少数,所以虽然书上说单元测试能节约开发时间,但我们没人信。老板不要求,绝对没人写。
micean
2021 年 7 月 2 日
crud 不写什么单元测试,毫无意义
但是写 lib utils 的一定要写单元测试
dalaomai
2021 年 7 月 2 日
@micean 请教为啥 CRUD 单元测试毫无意义?
X0ray
2021 年 7 月 2 日
@xy90321 请教下,C1 和 C2 分别是啥?
X0ray
2021 年 7 月 2 日
@thetbw 单元测试是开发的职责
micean
2021 年 7 月 2 日
@dalaomai

直接操作数据库检查 sql,mock 没有多大意义
MeatIndustry
2021 年 7 月 2 日
@stimw 不光 TDD,还有其他敏捷实践,例如结对编程,也有很大争议。一个个看起来十分美好,实际上做起来寸步难行。在公司就试过 TDD,根本坚持不下去
X0ray
2021 年 7 月 2 日
通常来说,以 java web 项目为例,我都是在 service 这一层来做单元测试。其他的工具类也会写下。远远达不到 100%的覆盖率。
我还比较好奇,那些大厂是不是都是严格执行覆盖率审查的。
Jiangyf
2021 年 7 月 2 日
@thetbw 唉,可要命了~~
Jiangyf
2021 年 7 月 2 日
@dustinth 看到英文书名就头大~~
Jiangyf
2021 年 7 月 2 日
@MeatIndustry 我觉得测试驱动开发,有一说一,很多时候受制于时间、成本、进度三座大山,没多少人 care 测试这一环节。
Jiangyf
2021 年 7 月 2 日
@Rocketer 深有体会~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/786964

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX