是否有任何python库来帮助测试外部python脚本

时间:2012-02-25 11:22:37

标签: python testing

我想测试一些python脚本。

是否有任何python库可帮助测试外部系统行为(运行脚本,测试外部文件的内容,管理输入/输出文件以及类似操作)。

此外,我尝试使脚本更加api,以允许导入,而不是直接调用它来进行更多单元测试,如测试。更改包括使脚本更容易以交互方式运行(将大量内容放入函数/模块值并使其更少程序化,添加参数以使stdout静音,将可选args传递给main)以及除常规输出格式之外的序列化结果(即使生成输出文件的函数中包含中等量的逻辑))。

这是一个好策略还是尝试通过运行blackbox样式和检查输出来测试脚本更好。

1 个答案:

答案 0 :(得分:0)

测试库

我会继续并建议unittest (即使它是“python单元测试”的热门Google游戏,你可能已经知道了它)。它是一个非常好用,易于使用,功能齐全的单元测试库。

测试策略

编写可测试代码 hard 。测试副作用,环境和文件输出等内容可以从单元测试中取出单元

我通常尝试做的是构建代码,以便尽可能少地执行I / O或其他讨厌的事情。然后,所有代码通常都可以直接进行单元测试。

对于难以分解为单位的部分,例如命令行界面,我测试文件输出等。

<强>结论

  • 尽可能使用单元测试
  • 否则,使用黑盒测试
  • 不断重构代码,使编写单元测试更容易&amp;更有效