单元测试好处真有那么多吗,为啥我都感受不到,真可怕。

2013-09-25 11:39:47 +08:00
 360
php开发,刚刚看了phpunit
我的理解:单元测试就是写测试代码检查 被测试的单元 的结果是否符合预期。

我自己写完函数,一般都先测试下这个函数的输出是不是正确的。单元测试跟这个差不多吧。
4838 次点击
所在节点    程序员
18 条回复
pengdu
2013-09-25 11:46:26 +08:00
等几个月以后,你要再修改这段代码,或者你修改一段已经离职的人的代码的时候,你就会感叹:有个单元测试多爽了。
改完跑过单元测试,心里特别有底。
maikcn
2013-09-25 11:46:35 +08:00
最大的好处是这个单元如果被修改了以后,通过跑测试就能发现是否会影响到原有的逻辑,是否和原来设计的预期保持一致
georgetso
2013-09-25 11:48:29 +08:00
很早就知道TDD, 可是从来不用. assert用的多
chenwl
2013-09-25 11:48:37 +08:00
你说的是开发调试手段,跟项目迭代维护的单元/集成测试 不一样咧
shiny
2013-09-25 11:49:42 +08:00
想借 lz 的帖子问下,单元测试里涉及数据库增删改(这个倒可以用测试数据库来实现)、远程第三方 API 调用(只有线上 API)这类影响线上的操作应该如何写单元测试?
polythene
2013-09-25 11:51:12 +08:00
对我来说它最大的好处就是确保我的更改没有影响到之前的逻辑
EchoFUN
2013-09-25 11:51:30 +08:00
因为代码还没有达到一定的规模哦,亲。
typing
2013-09-25 11:51:53 +08:00
单元测试, 虽然叫test, 但我觉得更多意义在于specification.

它在重构/移植方面的作用已经不言而喻.

那如果你说不重构, 不移植呢?
我觉得它强制你写代码方式: 使其可测.
maikcn
2013-09-25 11:52:10 +08:00
@shiny 单元外的测试用mocking
henter
2013-09-25 12:05:25 +08:00
节省手动测试时间,特别是频繁迭代时

或者处理比较难手动测试的功能
chloerei
2013-09-25 12:09:46 +08:00
如果一个地方值得调试两次,那么就值得写成测试。
angelface
2013-09-25 12:41:18 +08:00
单元测试可以有效提产品质量,
happypy1
2013-09-25 15:16:35 +08:00
一楼二楼正解。
davepkxxx
2013-09-25 15:20:06 +08:00
单元测试还能告诉我这段代码是干什么的,因为注释通常都说得不够详细。
lincats
2013-09-25 15:31:52 +08:00
单元测试也教你怎么用别人的代码,这个常常很有用。呵呵。
lightening
2013-09-25 15:37:02 +08:00
有时候改一个功能可能会影响到其他地方的功能。难道你每次改一个东西,都把整个项目所有角落都测试一遍吗?这个即使可能,也会耗费巨大的人力。
meta
2013-09-25 18:06:18 +08:00
模块是要给别人用的,自己测试一下无法证明你的模块正确,要证明给别人看才行。
firstway
2013-09-26 01:33:11 +08:00
等楼主维护千级别甚至万级别代码,时不时的需要修bug,更严重的是该程序还是跑在商业服务器上,出问题往往意味着真金白银的时候,你改动一点点可能就要考虑半天,这时候你就有感觉了。

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

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

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

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

© 2021 V2EX