寻找基于可执行的测试框架
Looking for executable-based test framework
我继承了一个可以工作的旧程序,但是源代码非常难看。我需要在不改变功能的情况下使代码更好。这个程序接受一个输入文件,执行各种计算,然后生成一个输出文件。
程序当前是用C/c++组合编写的。首先,我将使它保持一个c++程序,但在不久的将来,我将把它或它的一部分转换为Python。
很自然,最初的开发人员没有花时间创建单元测试,或任何其他类型的测试。因为我想确保我的修改没有改变程序的行为,所以我想从创建一些测试开始。这些不是单元测试,而是整个程序的测试。
我希望每个测试都接受一个输入文件和一组命令行参数,运行程序并将输出(输出文件、stdout输出和stderr输出)与预期输出进行比较。
因为我需要同时支持c++和Python,所以测试框架需要与语言无关——它应该能够运行可执行文件,收集标准输出和标准错误,并将它们以及另一个文件与预先录制的输出进行比较。
我找不到一个可以这样做的测试框架。有这样的东西吗?
嗯,在我的脑海中,您当然可以使用subprocess或一些类似的模块在python中运行带有所需输入的可执行文件,解析输出,然后使用unittest模块设置期望的输出类型
相关文章:
- GoogleMock是否仍然打算与任何测试框架一起使用?
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- 如何在提升构建中设置环境变量以进行提升单元测试框架?
- 如何在自动工具C++中添加提升单元测试框架
- 如何在Qt测试框架中对信号进行基准测试?
- 如何使用Boost单元测试框架测试Qt应用程序
- 在 Linux 上构建 cpptest 单元测试框架
- 使用C 单元测试框架集成测试Java应用程序
- Visual Studio 2017 C 本地单元测试框架不起作用
- 在Google测试框架中,如何期望函数调用或其他功能调用
- 每次捕获测试框架较长的链接时间
- C 单元测试框架具有类型和值参数化
- CMAKE Boost 单元测试框架在 Mac 上不起作用
- 由 Boost 单元测试框架 dll 导出的 std::basic_ostringstream 会导致"already defined symbol"错误
- Visual Studio 2012 的新C++单元测试框架是可移植的吗?
- 通过动态链接和手动设置增强单元测试框架
- 带有OpenGL和嵌入式WebViews的本机移动应用程序(iOS/Android)的测试框架
- 在 Google 的C++测试框架中为多个单元测试创建一个二进制文件
- 从谷歌测试框架中的另一个测试执行测试
- Google 测试框架 - 测试用例之间的依赖关系