关键环节,是在Project Settings的Post-build step处加上一个自定义命令,当然这是针对VC IDE而言的:
$(TargetPath)
$(TargetPath)代表编译后生成的exe文件。有了这项设置,IDE的compiler就会在编译结束之后,即刻运行本测试程序。同时输出结果会在编译器窗口输出。
在主函数main()中需要加入:
// Change the default outputter to a compiler error format outputter
runner.setOutputter( new CompilerOutputter( &runner.result(), std::cerr ) );
(相应还需要#include <cppunit/CompilerOutputter.h> )
这样做的目的,是使输出格式和编译器的输出兼容,这样在编译器输出窗口就可以双击错误文件名和行号的那一行直接定位到错误行了。
另外,对于在外面执行的情况,可以在Project Settings的Debug中设置执行目录(因为我希望测试数据在另外一个目录,而程序在这个目录下执行)。而使用Post-build的方法不能指定执行的当前目录(谁知道?),现在我的方法是在main()中直接用SetCurrentDirectory() 进行设置。