【问题标题】:Wrapper for cloud NDB context when unit testing?单元测试时云 NDB 上下文的包装器?
【发布时间】:2021-04-10 17:29:03
【问题描述】:

我正在将 Python 2 GAE 应用程序迁移到 Python 3,并且正在将 ndb 替换为 cloud-ndb。这涉及更改行,例如

do_something_with_ndb()

with client.context() as context:
    do_something_with_ndb()

对于 Flask 应用,您可以使用 WSGI 中间件(请参阅here)自动处理这个问题,这非常棒。

是否可以为单元测试做类似的事情?在我的测试代码中添加上下文很乏味。

寻找nosepytest 的解决方案,因为我都有。

【问题讨论】:

    标签: python unit-testing google-app-engine app-engine-ndb google-app-engine-python


    【解决方案1】:

    在完成了在我的测试代码中添加with client.context() as context: 的练习之后,我得出的结论是,您可能不希望在测试代码中自动包装上下文。

    对于单元测试,它们通常在 Flask 应用程序之外完成,因此您需要将每个单元文本包装在上下文中。

    对于路由(或处理程序)测试,大部分处理都在 Flask 应用程序中,因此您无法将测试包装在上下文中(双重包装会引发错误)。

    但是,对于单元测试和路由测试,在设置测试和其他事情方面存在很多边缘情况。因此,您需要灵活地根据需要添加上下文,而全局包装器将无法正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-06
      • 2017-03-07
      • 1970-01-01
      相关资源
      最近更新 更多