我刚开始使用TDD,很好奇其他人运行测试的方法。供参考,我正在使用谷歌测试框架,但我相信这个问题适用于大多数其他测试框架以及C/C++之外的语言。
到目前为止,我的一般做法是以下三种之一:
在静态库中编写大部分应用程序,然后创建两个可执行文件。一个可执行文件是应用程序本身,而另一个是带有所有测试的测试运行器。两者都链接到静态库。
直接将测试代码嵌入到应用程序本身中,并使用编译器标志启用或禁用测试代码。这可能是我迄今为止使用的最好方法,但会使代码有点混乱。
将测试代码直接嵌入到应用程序本身中,并根据某些命令行开关,运行嵌入在应用程序中的应用程序本身或运行测试。
这些解决方案都不是特别“优雅”...
你是如何处理的呢?