我想尝试一下测试驱动开发,我选择了UnitTest++框架,但是文档几乎不存在(据我所知)。
我担心的是:在我看过的所有教程中,他们都将UnitTest::RunAllTests()放在main()函数中。我猜他们这样做只是为了简化解释,但我不希望在我的软件中出现这种情况。我应该把UnitTest::RunAllTests()放在哪里,这样我就可以在每次构建软件时执行它,而不是在我运行它的时候?
发布于 2011-09-18 17:49:00
UnitTest::RunAllTests()应该放在一个单独程序的main函数中,该程序作为构建过程的一部分进行编译和运行。
发布于 2012-08-30 23:58:16
我们在过去做过的一件事是添加一个命令行参数,使主可执行文件运行所有测试,然后退出。安排一些#ifdefs相当容易,这样代码就可以在发布版本中编译出来。就像这样(它不是很C++,但是如果你还没有解析命令行参数,这是最简单的方法):
int main (int argc, char *argv[])
{
#ifdef DEBUG
if (argc > 1 && !strcmp(argv[2], "-t"))
{
return UnitTest::RunAllTests();
}
#endif
[rest of program]
}https://stackoverflow.com/questions/7460385
复制相似问题