Python 单元测试时云NDB上下文的包装器?

Python 单元测试时云NDB上下文的包装器?,python,unit-testing,google-app-engine,app-engine-ndb,google-app-engine-python,Python,Unit Testing,Google App Engine,App Engine Ndb,Google App Engine Python,我正在将一个Python2GAE应用程序迁移到Python3,我正在用云ndb替换ndb。这包括像这样改变线路 do_something_with_ndb() 到 对于Flask应用程序,您可以使用WSGI中间件(请参阅)自动处理此问题,这非常棒 是否可以对单元测试执行类似的操作?在我的测试代码中添加上下文是很乏味的 正在寻找nose和pytest的解决方案,因为我两者都有。在我的整个测试代码中使用client.context()作为context:添加后,我得出的结论是,您可能不希望在测试代

我正在将一个Python2GAE应用程序迁移到Python3,我正在用云ndb替换ndb。这包括像这样改变线路

do_something_with_ndb()

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

是否可以对单元测试执行类似的操作?在我的测试代码中添加上下文是很乏味的


正在寻找
nose
pytest
的解决方案,因为我两者都有。

在我的整个测试代码中使用client.context()作为context:添加
后,我得出的结论是,您可能不希望在测试代码中自动包装上下文

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

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

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

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