如何在下一个项目开始前推动写单元测试?

2018-03-19 17:29:03 +08:00
 luoway

仿佛犯罪成本低,守法成本高,大家就不关心写不写测试

下个项目不小,个人期望 TDD,奈何是个小兵
估计不提出来的话,会像往常一样继续 BDD

3886 次点击
所在节点    程序员
26 条回复
wuwenzhx
2018-03-19 17:37:03 +08:00
规定提交 patch 的时候没有单元测试代码覆盖自己 patch 的就不给 merged
luoway
2018-03-19 17:38:21 +08:00
@wuwenzhx 没有规定
fy
2018-03-19 17:39:35 +08:00
先搭建持续集成,PR 必须过测试和 lint,很快就都习惯了
luoway
2018-03-19 17:45:23 +08:00
@fy 这个是整个部门的动态,小兵没法干预
majinjing3
2018-03-19 17:47:46 +08:00
build 系统里面,判断单元测试代码覆盖率,降低了代码覆盖了的 build 统统失败,不接受
严格管理好 build 系统
majinjing3
2018-03-19 17:49:12 +08:00
和 3 楼差不多一个意思,不过更严格,毕竟人家不写测试咋办呢,lint 也好糊弄的
jimi2018
2018-03-19 17:50:42 +08:00
先给他们做个培训,然后大家就有一致认知了,在行动就好办了,推荐个教程给你:

http://xc.hubwiz.com/course/5911d52ab343f27b0ae1b895?affid=20180319v2ex
paragon
2018-03-19 17:55:55 +08:00
只看覆盖率本身也是有野路子可以摸鱼的~
pelloz
2018-03-19 18:01:23 +08:00
你首先应该做的是提升自己在团队内的地位再去考虑如何帮团队做改进,要不然你这么多想法没人会鸟你。关于如何提升在团队的地位,这是另外的问题,不过可以给你几个建议:
1.变成老板,谁不搞 TDD 谁滚蛋
2.变成团队技术负责人,TDD 没搞好你负全责,技术团队全部听你的
3.自己默默搞 TDD 并且出成果,打他们脸

你必须有付出并且能够承担责任才能做出改变
luoway
2018-03-19 18:09:20 +08:00
@pelloz 是这个理

不过 TDD 短期不会出成果的,毕竟我们连 bug 率都不做统计汇报
pelloz
2018-03-19 18:16:45 +08:00
@luoway 我个人的意见是当你觉得必须改变环境才能让自己进步,而自己又没有能力改变当前的环境的时候,你可以试着做一些准备,然后换一个你喜欢的环境。比如国内 TDD 做得比较好的应该就是 ThougthWorks,要不你去他们家试试?他们家似乎比较欢迎懂敏捷开发和 TDD 的人
jadec0der
2018-03-19 20:34:19 +08:00
看老板。

你在 CI 里加一个 coverage 下限,当 coverage 不足以通过 build 的时候。老板 /项目经理如果愿意多花点时间补全测试 TDD 就能继续搞下去,不过更大的可能是他们选择把 coverage 删掉赶工期。
jadec0der
2018-03-19 20:34:59 +08:00
@jimi2018 这都能 299 ?我服
ZSeptember
2018-03-19 20:49:52 +08:00
关注,看大神意见。
carlclone
2018-03-19 21:43:46 +08:00
你是不是对 BDD 有什么误解, BDD 基本上就是 TDD
houshengzi
2018-03-19 22:54:03 +08:00
一直都想推动单元测试,奈何学得不深,团队也没有这个氛围。只好作罢

有没有大神能提供相关资料的
aristotll
2018-03-20 00:04:39 +08:00
@carlclone #15 我也正觉得奇怪呢
akira
2018-03-20 00:06:38 +08:00
单元测试这种东西是不可能补的....
jswh
2018-03-20 00:14:08 +08:00
现有系统重构的时候,对重构的部分加测试
jameslan
2018-03-20 04:22:26 +08:00
@pelloz 一个人做出 tdd 去打脸?你是说别人写了代码楼主去补 testcase ?

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

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

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

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

© 2021 V2EX