我想测试一些python脚本。
是否有任何python库可帮助测试外部系统行为(运行脚本,测试外部文件的内容,管理输入/输出文件以及类似操作)。
此外,我尝试使脚本更加api,以允许导入,而不是直接调用它来进行更多单元测试,如测试。更改包括使脚本更容易以交互方式运行(将大量内容放入函数/模块值并使其更少程序化,添加参数以使stdout静音,将可选args传递给main)以及除常规输出格式之外的序列化结果(即使生成输出文件的函数中包含中等量的逻辑))。
这是一个好策略还是尝试通过运行blackbox样式和检查输出来测试脚本更好。
答案 0 :(得分:0)
测试库
我会继续并建议unittest (即使它是“python单元测试”的热门Google游戏,你可能已经知道了它)。它是一个非常好用,易于使用,功能齐全的单元测试库。
测试策略
编写可测试代码 hard 。测试副作用,环境和文件输出等内容可以从单元测试中取出单元。
我通常尝试做的是构建代码,以便尽可能少地执行I / O或其他讨厌的事情。然后,所有代码通常都可以直接进行单元测试。
对于难以分解为单位的部分,例如命令行界面,我测试文件输出等。
<强>结论强>