请教下各位大佬 关于单元测试的问题

2021-03-10 10:33:21 +08:00
 www5070504

最近遇到几个不知道如何解决或者没有方向的问题 想请教下各位同仁

一是各位平时写代码的时候会写单元测试么, 或者现在写单元测试的人还多么. 现在为了快速上线, 我这里基本没写过单元测试,各位平时是怎么做的呢.

二是在单元测试中不知道各位有没有遇到过无法断言的情况, 比如我一个函数会生成一些二进制数据, 我不知道如何断言这个函数产生的结果是合法的数据. 或者比如一个函数产生一些网络数据包, 但是断言的时候没办法进行比较,因为返回值是不容易预测的.

求各位指教,谢谢各位啦

5656 次点击
所在节点    程序员
67 条回复
anonydmer
2021-03-11 09:20:13 +08:00
楼上 #44, #45, #46 的兄弟已经说的很清楚了;单元测试还是应该写的,项目忙,总有不忙的时候,自己慢慢写;如果先是写的代码后来补的测试,通常写单元测试时候你会发现大量的不方便和麻烦的地方;而这正是单元测试一个重要的意义所在,通过单元测试来重构和改善自己的代码;让代码设计更合理,更解耦,更容易测试;写久了之后再写代码时候即使不写测试,也会让你思维有很大的转变,在写之前就会考虑这些代码别人要怎么用,怎么测;这也是 TDD 的意义。

从我的经验来看,愿意写单元测试和会写单元测试的工程师,最终的代码设计和质量明显会高别人一节;所以我建议,楼主能多写单元测试就多写单元测试,而且就个人的经验来讲,通过写单测去提升代码的设计能力,比去空学各种设计模式和开源项目更有效。
freeair
2021-03-11 09:23:44 +08:00
某种意义上,这是个很好的问题。

高质量要求的项目,单元测试必做的,这也是所有测试过程中,成本很高的一个阶段。而且根据方法论不同,可以分别做白盒测试、黑盒测试。

但是,单元测试做不做,采取什么样的测试方案等,其实取决于遵循的质量标准以及项目整体计划(预算),不是某个开发人员决定的。

反过来思考,从单元测试的情况能看出一家公司以及团队的水平。

第二个问题很多人回复了,就不重复。
wangyzj
2021-03-11 09:24:29 +08:00
没事干了就写
能没事干吗?
Debiancc
2021-03-11 10:27:26 +08:00
外企,写。公司强制有 75%+的测试覆盖度要求。
但是见过骚操作是 为了覆盖率 调了方法 却不写任何断言
caizs320525
2021-03-11 11:48:40 +08:00
我理解是项目初始阶段 不写, (毕竟活不活下是个问题
人员开始扩充了,要立马开始补 ( 不经人员素质参差不齐,不给定几个锚点, 不定被别人改成啥样
lzlee
2021-03-11 12:49:19 +08:00
@iyaozhen
谢谢大佬
lzlee
2021-03-11 12:50:14 +08:00
@dayeye2006199
谢谢大佬

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

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

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

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

© 2021 V2EX