Python测试“;“框架”;用于测试输入文件及其输出
我正在为我的工具编写端到端测试,它是用Python编写的。该工具读取一个文件作为输入。我想测试它的退出代码和输出 这是一个相当常见的习语,我在很多方面都见过。在PHP项目中,每个测试都是一个文件,有如下行:Python测试“;“框架”;用于测试输入文件及其输出,python,testing,end-to-end,Python,Testing,End To End,我正在为我的工具编写端到端测试,它是用Python编写的。该工具读取一个文件作为输入。我想测试它的退出代码和输出 这是一个相当常见的习语,我在很多方面都见过。在PHP项目中,每个测试都是一个文件,有如下行:输入:,预期:,预期的正则表达式:,等等。在我自己的项目中,每个文件都是一个普通的源文件,但顶部添加了注释,其中包括预期的等关键字。我想我已经复制了它,它使用了一个用tcl编写的更复杂的工具 是否有框架、库等可以在Python中实现这一点?它应当: 读取源文件 解析与预期输出、退出代码、预期
输入:
,预期:
,预期的正则表达式:
,等等。在我自己的项目中,每个文件都是一个普通的源文件,但顶部添加了注释,其中包括预期的
等关键字。我想我已经复制了它,它使用了一个用tcl编写的更复杂的工具
是否有框架、库等可以在Python中实现这一点?它应当:
- 读取源文件
- 解析与预期输出、退出代码、预期查找或未查找的单词/正则表达式对应的特殊关键字(或类似关键字)
- 检查输出是否正确
虽然从理论上讲这似乎并不难,但我记得以前在实现这一点时有很多边缘情况(特别是涉及转义),我宁愿不重新发明轮子。既然文件io的实现依赖于系统,为什么不使用StringIO模拟文件读写: 然后用python测试大部分逻辑(从文件读取、做一些事情、写入文件) 然后,您可以通过使用
commands
模块或类似的方法调用单独的python文件来对脚本进行基本健全性的端到端测试
使用它,您可以同时获得输出和状态。robot框架可能会有所帮助。它是一个用python实现的关键字驱动的功能测试工具,可以用pythion或java进行扩展 见: 您可以应用许多内置库来解决问题,包括用于处理文件等的OperatingSystem库和用于处理字符串的字符串库:
还有一个伊恩·比金的图书馆。从你的回答来看,我相信我可能错提了这个问题。我已经重写了大部分内容,希望现在更清楚。哦,我现在明白了,看起来马克有你的答案:)这似乎是我要找的。