gpt4 book ai didi

python - 如何使用 Google App Engine 设置 TDD 开发流程?

转载 作者:太空狗 更新时间:2023-10-29 16:59:53 26 4
gpt4 key购买 nike

我主要是一名 Ruby 专家,但最近我一直在从事大量 Python 方面的工作,尤其是 App Engine 代码。在 Ruby 中,我会在我的开发过程中使用自动持续集成(autotest)、代码覆盖工具(rcov)、静态分析(reek)和变异测试(heckle),但我不确定如何最好地为 App Engine 环境设置类似的开发过程。我也对 RSpec 的类似物感兴趣和 Cucumber适用于可在 App Engine 中运行的 Python。

最佳答案

您不会总能在 Python 中找到与 Ruby 测试工具一一对应的工具,但在 Python 中有一些很棒的测试工具。我发现一些有用的工具包括:

  • unittest - Python 标准库中包含的 xUnit 工具。它包括单元测试的所有基础知识。
  • doctest - 标准库的一个很棒的部分,它允许你在函数、类、模块、方法的文档字符串中编写测试。它非常擅长传达预期的 API 用法。 Ian Bicking建议使用 doctest 进行行为驱动开发。 Doctest 非常适合 Sphinx文档系统(您可以确保每次构建文档时文档中的所有示例都通过)。
  • nosepy.test被视为 unittest 的下一代版本。他们可以运行所有现有的单元测试用例,但允许更简单的、非基于类的单元测试。 py.test 还允许分布式执行。
  • mock是一个很好的模拟行为库。
  • tdaemon监视一个目录以更新您的代码,并将重新执行您的测试套件。 (我的 personal branch 包含一些未合并的改进)。
  • Buildbot , Bitten ,甚至 Hudson所有这些都可以作为 Python 代码的成熟的持续集成服务器。
  • coverage.py计算代码的代码覆盖率。
  • pylint将为您的代码提供类似 lint 的分析,确保它遵循常见的编码约定并且没有任何常见的错误。还有一个“更轻”的分析工具,PyFlakes .
  • 有许多 HTTP/浏览器测试工具在 Python 中运行良好,包括 Twill , Selenium , 和 Windmill .

如果您在 App Engine 上使用 Django,它包括 several extensions单元测试允许您模拟 HTTP 客户端和数据库持久性。

还有很多我没有使用过的其他工具(例如 PySpecBehaviour )也可能有用。我没有在 Python 中看到任何突变测试工具,但我敢打赌那里有一个(我很想知道它是什么)。

测试愉快!

关于python - 如何使用 Google App Engine 设置 TDD 开发流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1591875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com