我刚刚开始使用TDD,并且很好奇其他人如何运行测试。作为参考,我使用的是谷歌测试框架,但我相信这个问题适用于大多数其他测试框架和C/C++以外的语言。你如何运行你的单元测试?编译器标志?静态库?
我一般的做法至今一直做的三两件事之一:
写的大部分应用程序的静态库,然后再创建两个可执行文件。一个可执行文件是应用程序本身,而另一个则是所有测试的测试运行器。都链接到静态库。
嵌入测试代码直接插入应用程序本身,以及启用或使用编译器标记禁用测试代码。这可能是迄今为止我使用过的最好的方法,但会使代码混乱一点。
嵌入给出的测试代码直接插入应用程序本身,而且,某些命令行切换某一种运行该应用程序本身或运行嵌入在应用程序中的测试。
这些解决方案都不是特别优雅 ...
如何你办呢?
的共识似乎是,#1是最好的。这似乎并不像它可能那样优雅。我想如果我想要优雅,我应该改用脚本语言。 :p – kurige 2010-04-23 10:17:00