在为一个软件(例如一个库)编写测试时,您是希望将所有单元测试编译为一个,还是将它们分为几个可执行文件?
我问的原因是因为我当前正在使用CUnit来测试正在使用的库。这些测试被分为独立的套件,这些套件被编译成一个可执行文件,并带有打印输出以表示失败。现在,该库的构建系统是CMake(尽管它的名称不多,但与CUnit无关),它带有自己的测试框架CTest。CTest允许我注册用作测试的可执行文件列表。
我正在考虑是否使用CTest进行自动化测试。但是,这将需要我将到目前为止编写的测试分成单独的编译目标。否则,我不能真正利用CTests的某些高级功能,例如有选择地运行测试。
我意识到这更多是关于使用哪种工具以及它们的处理方式和约定的问题,但是除此之外,还有其他原因更倾向于使用单个测试可执行文件而不是单独的测试可执行文件吗?或相反亦然?