昨天有个关于单元测试的帖子 ( https://v2ex.com/t/922133) 提到基于开源的小公司可能做的比较好, 我挺感兴趣于是搜了搜国内比较火的小公司开源项目。但至少我看的这几个 PR 似乎都没有任何单元测试 /集成测试:
bytebase: https://github.com/bytebase/bytebase/pull/5007
zadig: https://github.com/koderover/zadig/pull/2366
rath: https://github.com/Kanaries/Rath/pull/292
这是不是说明公司级别的开源项目其实不需要单元测试,有 QA 来保障没问题就行
1
Chad0000 2023-03-09 12:01:39 +08:00
开源只是把代码开放而已,just as it is. 你怎么做都成。
|
2
lianyue 2023-03-09 12:08:51 +08:00
|
3
ksc010 2023-03-09 12:15:01 +08:00
单元测试 有一个很大的好处是能极大的降低你升级第三方库 /框架的风险
|
4
learningman 2023-03-09 12:47:17 +08:00 via Android
单测写的详细也方便别的贡献者,你 review 也方便
|
5
Huelse 2023-03-09 12:51:48 +08:00
文档最重要,别的都往后排
|
6
dayeye2006199 2023-03-09 13:33:03 +08:00 via Android 6
没测试和流水线的开源项目,基本告诉别人,你别来贡献了,这个东西只有我自己能玩儿起来
|
7
matrix1010 OP @dayeye2006199 很有道理
|
8
dream4ever 2023-03-09 14:46:44 +08:00
@ksc010 的确如此,用 Express.js 写的后端项目,GitHub 报了不少库的安全风险了,而且各种库也在不断推出新版本,没有完善的测试随便升级库的版本就很容易出事,之前就遇到升级 axios 到最新版结果 API 有变化的情况了,debug 了好半天才发现是 axios 的原因,如果有测试,就可以第一时间发现这种问题了。
|
9
artnowben 2023-03-09 15:04:04 +08:00
毋庸置疑,开源项目质量是非常重要的。
但是不同的项目有不同的测试方法,有的项目侧重模块级别、功能级别的测试,有的偏重性能测试。 dperf 主要强调模块、功能级别的测试,没有单元测试。 https://github.com/baidu/dperf |
10
jones2000 2023-03-09 22:38:36 +08:00
单元测试会加重开源作者的工作量, 特别是个人开源作者,本来就是业余抽空的时间搞的。文档和测试实际比开发代码更消耗时间。
|
11
hamsterbase 2023-03-10 07:21:43 +08:00 via iPhone 1
还有可能是代码开源,测试不开源。
比如说 sqlite 的一部分测试是专有的 |
12
matrix1010 OP @hamsterbase sqlite 和我说的这些国产项目不具备可比性。就算有些没开源,已经开源的测试部分也已经吊打这些项目了
|