c++ 的测试框架我没概念,毕竟没做过相关的方面。
不是不能提代码,你一样能 commit,能建 PR,只不过不能 merge 而已。对于成熟的老程序,最暴力的方式就是跑完测试之后看 coverage,没到100%挂掉就完了,当然前提是已经有100%的底子。另外,至少 review 的时候,就算看不出来全不全,至少有没有还是很容易的。
另外要明白自动测试的价值所在,并不能避免 bug 的发生,但是能够避免同样的 bug 再次发生。有个经典的笑话:
A QA engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 99999999999 beers. Orders a lizard. Orders -1 beers. Orders a ueicbksjdhd.
First real customer walks in and asks where the bathroom is. The bar bursts into flames, killing everyone.
你不可能指望有人能完整考虑所有方面,测试做不到避免新 bug 的发生,而是一个迭代的过程避免破坏已有功能。另外要考虑的价值,从无到有的变化是巨大的,有 PR 没跑过的价值更高。先把测试跑起来再说,慢慢积累 case,让人意识到写测试是磨刀不误砍柴工。
【 在 xunery (寻) 的大作中提到: 】
: 这几天一直在消化你说的这些框架,以及查找资料。
: 发现很多框架是针对编程语言或程序类型的,web测试工具、框架就比较多。像c++写应用程序好像就不怎么好测试,c++写的服务程序,gui程序等等。如果是针对功能、接口写测试代码,比方说我新加一个接口,可能需要写5个case,但是如果开发人员偷懒或者没想到那种情况,写两
: 那些开源项目没有通过自动化测试就不能提交代码是如何做到的呢?
: ...................
--
FROM 203.211.111.*