Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python测试“;“框架”;用于测试输入文件及其输出_Python_Testing_End To End - Fatal编程技术网

Python测试“;“框架”;用于测试输入文件及其输出

Python测试“;“框架”;用于测试输入文件及其输出,python,testing,end-to-end,Python,Testing,End To End,我正在为我的工具编写端到端测试,它是用Python编写的。该工具读取一个文件作为输入。我想测试它的退出代码和输出 这是一个相当常见的习语,我在很多方面都见过。在PHP项目中,每个测试都是一个文件,有如下行:输入:,预期:,预期的正则表达式:,等等。在我自己的项目中,每个文件都是一个普通的源文件,但顶部添加了注释,其中包括预期的等关键字。我想我已经复制了它,它使用了一个用tcl编写的更复杂的工具 是否有框架、库等可以在Python中实现这一点?它应当: 读取源文件 解析与预期输出、退出代码、预期

我正在为我的工具编写端到端测试,它是用Python编写的。该工具读取一个文件作为输入。我想测试它的退出代码和输出

这是一个相当常见的习语,我在很多方面都见过。在PHP项目中,每个测试都是一个文件,有如下行:
输入:
预期:
预期的正则表达式:
,等等。在我自己的项目中,每个文件都是一个普通的源文件,但顶部添加了注释,其中包括
预期的
等关键字。我想我已经复制了它,它使用了一个用tcl编写的更复杂的工具

是否有框架、库等可以在Python中实现这一点?它应当:

  • 读取源文件
  • 解析与预期输出、退出代码、预期查找或未查找的单词/正则表达式对应的特殊关键字(或类似关键字)
  • 检查输出是否正确

虽然从理论上讲这似乎并不难,但我记得以前在实现这一点时有很多边缘情况(特别是涉及转义),我宁愿不重新发明轮子。

既然文件io的实现依赖于系统,为什么不使用StringIO模拟文件读写:

然后用python测试大部分逻辑(从文件读取、做一些事情、写入文件)

然后,您可以通过使用
commands
模块或类似的方法调用单独的python文件来对脚本进行基本健全性的端到端测试


使用它,您可以同时获得输出和状态。

robot框架可能会有所帮助。它是一个用python实现的关键字驱动的功能测试工具,可以用pythion或java进行扩展

见:

您可以应用许多内置库来解决问题,包括用于处理文件等的OperatingSystem库和用于处理字符串的字符串库:


还有一个伊恩·比金的图书馆。

从你的回答来看,我相信我可能错提了这个问题。我已经重写了大部分内容,希望现在更清楚。哦,我现在明白了,看起来马克有你的答案:)这似乎是我要找的。