我正在开发,编译和运行一个用于C程序的.c文件的python程序。每次运行程序时,我都需要手动检查该程序的许多测试用例。现在大约有15到16个C程序,它们大约有100个测试用例组合在一起。那么我应该如何编写python程序,以便在使用python运行C程序之后,它会自动加载每个测试用例并将其输出指向一个指定的文件?在运行时通过python运行C程序的测试用例
1
A
回答
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:现在等待过程中使用的等待()实用程序来完成。检查退货代码并按照您的要求继续。如果你不选择放弃失败的过程,那么在接下来的迭代程序将拿起一个测试案例,并重复同样的过程
return_code = tcProcess.wait()
相反POPEN的你也可以使用()调用的子方法并且它会自动等待电话结束,并且不需要等待()。子及其方法的
说明可以在这里找到
<https://docs.python.org/2/library/subprocess.html#using-the-subprocess-module>
希望这有助于。
+0
这真是太棒了!我发现了一种方法来使用重定向操作符来完成我想要的操作,例如“filename”
相关问题
- 1. 测试运行时失败,单独运行时通过
- 2. 通过Python运行一个长时间的运行过程Popen
- 3. 运行uispec4j测试用例时的java.lang.UnsatisfiedLinkError
- 4. C运行Dynamics AX测试用例#
- 5. 如何通过命令行运行测试套件的一些测试用例?
- 6. 运行Junit测试用例时OutofMemoryError
- 7. 运行Selenium测试用例时出错
- 8. 同时运行JUnit测试用例
- 9. 运行RSpec测试用例时出错
- 10. 运行时出错测试用例
- 11. 并行运行python测试
- 12. 在Hudson通过JUnit运行硒测试
- 13. 如何通过telnet运行Python程序?
- 14. C++程序在运行时
- 15. 如何通过运行一台硒服务器运行多个测试用例
- 16. 在通过Xcode进行调试时手动运行应用程序vs手动运行应用程序
- 17. 从pip安装的应用程序进行python运行测试
- 18. 运行wp7应用程序的测试
- 19. 通过C程序运行BASH命令
- 20. 在运行时跳过RSpec测试用例
- 21. Anypoint Studio:在运行独立应用程序时进行测试
- 22. PHPUnit - 通过命令行测试运行器运行特定测试套件
- 23. 运行TestNG测试实例
- 24. 在运行时跳过TestNg测试
- 25. 运行特定测试用例在Django
- 26. 在Python中运行测试的问题,通过rpy2
- 27. 如何在运行框架中运行JUnit测试用例2.3.2
- 28. 在IE-Verion 8上通过Windows XP运行测试案例
- 29. PowerShell运行时通过任务调度程序运行不同
- 30. 无法通过ANT运行测试
**堆栈溢出不是代码写入服务**。请说明你已经尝试了什么,以及它如何工作(c.f. [如何提问](https://stackoverflow.com/help/how-to-ask))。您可能想要[编辑]您的问题以添加更多信息。 – hlt 2014-08-27 12:14:54
你可以使用一个shell脚本来达到这个目的,并且你可以生成这个shell脚本(例如使用'autogen' ...) – 2014-08-27 13:07:40