通过python在运行时运行C程序的测试用例

时间:2014-08-27 12:12:14

标签: python c++ c unit-testing testing

我正在使用python中的程序,其中打开,编译和运行C程序的.c文件。我有很多程序测试用例,每次运行程序时都需要手动检查。现在大约有15到16个C程序,它们共有大约100个测试用例。那么我应该如何编写python程序,以便在使用python运行C程序后,它会自动加载每个测试用例并将其输出定向到指定的文件?

1 个答案:

答案 0 :(得分:1)

您可以采取以下方法:

步骤1:在python程序中将所有C程序的名称及其相应的测试用例存储在数组中。

步骤2:遍历C程序数组,并且对于每个这样的迭代,遍历该C程序的测试用例数组。在此内部迭代中,使用Popen实用程序为C程序触发测试用例。因此,例如C程序就是“应用程序”。和测试用例是' tc'使用以下

tcProcess = subprocess.Popen( ['app','tc']) # assuming tc is going as an argument to app

步骤4:现在等待使用wait()实用程序完成该过程。检查退货代码并按照您的要求进行操作。如果您没有选择为失败的进程中止,那么在下一次迭代中,程序将接收下一个测试用例并重复相同的过程

return_code = tcProcess.wait ()

您也可以在子进程上使用call()方法而不是Popen,它会自动等待调用完成并且不需要wait()。

子流程及其方法的描述可以在这里找到

 <https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module>

希望这有帮助。