2.6 我们到哪里了到这里,你应当对Unity和CppUTest的概况有了很好的了解,并且明白了如何用测试夹具和测试用例来定义测试。到目前为止你还没有看到测试驱动开发(TDD),为sprintf()写的那些测试并不是TDD,因为sprintf()是已经存在的代码。请你把新学到的知识运用到接下来的练习中。在接下来的两章中我们会用测试驱动来开发一些新代码。学以致用
在开发平台上建立一个测试环境。你可以从附录A中得到一些帮助。下载书中的代码,并运行makefile。可以访问本书的主页找到书中的代码: http://www.pragprog.com/titles/jgade 。在 code/README.txt 中可以找到更多信息。运行makefile。所有的测试都应通过。在代码的目录中运行 make -f MakefileUnity.mk。Unity的sprintf()测试由这个makefile来构建。然后在代码目录中运行 make -f MakefileCppUTest.mk。CppUTest的sprintf()测试由这个makefile来构建。参考本章中的例子,写更多的sprintf()测试。对于Unity,使用code/unity/stdio/SprintfTest.c。对于CppUTest,使用code/tests/stdio/SprintfTest.cpp。修改TEST_GROUP(Sprintf),使它能处理任意大小的sprintf()输出。
那些想开发真正可靠软件的人会发现,必须首先找到能避免产生大部分软件bug的手段。结果是,软件开发流程会变得更轻量。更有效率的程序员不应把时间浪费到调试上,他们一开始就不应该引入bug。—Edsger Dijkstra,The Humble Programmer
相关资源:《测试驱动的嵌入式C语言开发》(TDD测试参考书)样章