Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 寻找基于可执行文件的测试框架_C++_Testing - Fatal编程技术网

C++ 寻找基于可执行文件的测试框架

C++ 寻找基于可执行文件的测试框架,c++,testing,C++,Testing,我继承了一个可以运行的旧程序,但是它的源代码非常难看。我需要在不改变功能的情况下使代码更漂亮。这个程序接收一个输入文件,执行各种计算并生成一个输出文件 该程序目前是用C/C++组合编写的。首先,我将把它作为一个C++程序,但在不远的将来,我会把它或它的一部分转换成Python。 当然,最初的开发人员没有花时间创建单元测试或任何其他类型的测试。因为我想确保我的修改没有改变程序的行为,所以我想从创建一些测试开始。这些将不是单元测试,而是整个程序的测试 我希望每个测试获取一个输入文件和一组命令行参数,

我继承了一个可以运行的旧程序,但是它的源代码非常难看。我需要在不改变功能的情况下使代码更漂亮。这个程序接收一个输入文件,执行各种计算并生成一个输出文件

该程序目前是用C/C++组合编写的。首先,我将把它作为一个C++程序,但在不远的将来,我会把它或它的一部分转换成Python。 当然,最初的开发人员没有花时间创建单元测试或任何其他类型的测试。因为我想确保我的修改没有改变程序的行为,所以我想从创建一些测试开始。这些将不是单元测试,而是整个程序的测试

我希望每个测试获取一个输入文件和一组命令行参数,运行程序并将输出(即输出文件、stdout输出和stderr输出)与预期输出进行比较

因为我需要支持C++和Python,测试框架需要是语言不可知的——它应该能够运行一个可执行文件,收集STDUT和STDRR,并将它们和另一个文件进行比较,以输出预先录制的输出。


我找不到一个可以做到这一点的测试框架。有类似的吗?我不想自己开发一个。

好吧,在我看来,您当然可以使用子流程或类似模块在python中使用您想要的输入运行可执行文件,解析输出,然后使用unittest模块设置您想要的输出类型的期望值