04 2009 档案
摘要:上一篇我们分析了gtest的一些内部实现,总的来说整体的流程并不复杂。本篇我们就尝试编写一个精简版本的C++单元测试框架:nancytest
阅读全文
摘要:之前一直用WingIDE写Python代码,虽然WingIDE在很多方面非常优秀,但是它存在一些问题:
1. 速度太慢,有时候自己只是想写一个小脚本,都不想打开WingIDE,而是直接在PyWin里写。
2. 代码补全和提示功能经常出问题
明天打算写个GUI的python程序,本来打算使用wxpython的,似乎以前用wxpython写的界面太丑,想换换pyqt4。于是乎将 pyqt4下载了下来,在官网又看到一个专门为Python,Ruby提供的IDE - Eric4,一时心动,下来试用了一下。Eric4本身的GUI部分是使用pyqt4做的,界面非常美观,嗯,有的研究了。
阅读全文
摘要:本文通过分析TEST宏和RUN_ALL_TEST宏,了解到了整个gtest运作过程,可以说整个过程简洁而优美。之前读《代码之美》,感触颇深,现在读过gtest代码,再次让我感触深刻。记得很早前,我对设计的理解是“功能越强大越好,设计越复杂越好,那样才显得牛”,渐渐得,我才发现,简单才是最好。我曾总结过自己写代码的设计原则:功能明确,设计简单。了解了gtest代码后,猛然发现gtest不就是这样吗,同时gtest也给了我很多惊喜,因此,我对gtest的评价是:功能强大,设计简单,使用方便。
阅读全文
摘要:使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。
阅读全文
摘要:“死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也就是所谓的“死亡测试”。gtest的死亡测试能做到在一个安全的环境下执行崩溃的测试案例,同时又对崩溃结果进行验证。
阅读全文
摘要:虽然我对JAVA不怎么感冒,我还是不得不感叹一下Google动作的迅速,还有消息称Google有员工正在利用20%的时间让GAE支持Perl。
我个人比较喜欢Python,也玩了Google App Engine有一阵子了,但只是玩玩,没有出啥成果,真是惭愧。著名的微型博客Jaiku也开源了,并迁移到了GAE上,要找点时间好好研究一下了。
现在GAE开始对JAVA支持,势必会吸引大片的JAVA开发者加入GAE的阵营,随之而来大量基于GAE的JAVA应用应该会大量涌出。我也要加油了,不过我还是玩我的Python,希望能尽早出个成果吧!
阅读全文
摘要:在设计测试案例时,经常需要考虑给被测函数传入不同的值的情况。我们之前的做法通常是写一个通用方法,然后编写在测试案例调用它。即使使用了通用方法,这样的工作也是有很多重复性的,程序员都懒,都希望能够少写代码,多复用代码。Google的程序员也一样,他们考虑到了这个问题,并且提供了一个灵活的参数化测试的方案。
阅读全文
摘要:gtest提供了多种事件机制,非常方便我们在案例之前或之后做一些操作。总结一下gtest的事件一共有3种:1. 全局的,所有案例执行前后。2. TestSuite级别的,在某一批案例中第一个案例前,最后一个案例执行后。3. TestCae级别的,每个TestCase前后。
阅读全文
摘要:这篇文章主要总结gtest中的所有断言相关的宏。 gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列
阅读全文
摘要:本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例。
阅读全文
摘要:Google Test (gtest)是Google的开源C++测试框架,希望我的总结能给你带来帮助。
阅读全文
摘要:随着我们的SVN库日益壮大,容量达到10G,几十G 甚至更大时,我们发现自动构建速度越来越慢,直到有一天你发现入了很小一段代码却不得不等待几小时构建完成,程序员的忍受是有极限的,因此我们决定采取措施实施优化。
阅读全文