我正在为我的工具编写端到端测试,它是用Python编写的。该工具读取文件作为输入。我想测试它的退出代码和输出。在
这是一个相当常见的习惯用法,我见过有几种方法。在PHP项目中,每个测试都是一个文件,并且有如下的行:INPUT:
,EXPECTED:
,EXPECTED_REGEX:
等等。在我自己的phc项目中,每个文件都是一个普通的源文件,但是在顶部添加了一个注释,其中包括关键字EXPECTED
。我想我已经复制了gcc,它使用了一个用tcl编写的更复杂的工具。在
在Python中是否有这样的框架、库等?它应该:
虽然理论上看起来并不难,但我记得以前在实现这一点时有很多边缘情况(尤其是涉及逃逸),我宁愿不重新发明轮子。在
机器人框架可能会有所帮助。它是一个用python实现的关键字驱动的功能测试工具,可以用pythion或java进行扩展。在
参见:http://robotframework.googlecode.com/svn/tags/robotframework-2.5.4/doc/userguide/RobotFrameworkUserGuide.html
您可以应用许多内置库来解决问题,包括用于处理文件等的OperatingSystem库和用于处理字符串的字符串库:
http://robotframework.googlecode.com/svn/tags/robotframework-2.5.4/doc/userguide/RobotFrameworkUserGuide.html#standard-libraries
还有一个图书馆。在
既然文件io的实现依赖于系统,为什么不模拟使用StringIO的文件读写:
http://docs.python.org/library/stringio.html
然后用python测试大部分逻辑(从文件中读取、执行某些操作、写入文件)?在
然后,也许您可以通过使用
commands
模块或类似的方法对脚本进行一个单独的python文件调用,以作为另一个进程调用它:http://docs.python.org/library/commands.html
使用它你可以得到输出和状态。在
相关问题 更多 >
编程相关推荐