【问题标题】:Stubs for local Django unittests with Google App Engine使用 Google App Engine 进行本地 Django 单元测试的存根
【发布时间】:2011-09-04 20:35:05
【问题描述】:

我想为 Google App Engine 项目运行本地 Django 单元测试。 GAE 最近收到了一些python unit testing utilities,允许为例如创建存根。内存缓存、数据存储、任务队列等

我希望能够使用 Django 的单元测试框架。我的第一个想法是重载DjangoTestSuiteRunner 为每个测试用例执行以下操作:

#     setUp
self.testbed = testbed.Testbed()
# Then activate the testbed, which prepares the service stubs for use.
self.testbed.activate()
# Next, declare which service stubs you want to use.
self.testbed.init_datastore_v3_stub()
self.testbed.init_memcache_stub()

# ... after tests:
#
#     Teardown
self.testbed.deactivate()

我想知道是否有其他人尝试使用可以从 GAE 命令行运行的新单元测试来运行 Django 的测试框架,如果是,他们遇到了什么陷阱。比如调用Django的django.test.utils.setup_test_environmentteardown_test_environment有什么问题吗?可能会出现什么其他问题?

顺便说一句,我没有使用任何 Django-GAE 助手,例如 google-app-engine-django

感谢您的阅读。

【问题讨论】:

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


    【解决方案1】:

    只想提一下:标准 django 单元测试对我来说非常好用 django-nonrelGAE Test Bed,包括任务队列、内存缓存等。我认为它与您提到的相同 python 单元测试代码。

    【讨论】:

    • 谢谢,Oleksiy。顺便说一句,我认为可能会导致问题的代码在这里(特别是数据库问题):code.djangoproject.com/browser/django/trunk/django/test/…
    • 看起来GAE Test Bed 正在成为官方 Python App Engine SDK 的一部分。它与您提到的 GAE 本地测试工具相同。我所要做的就是在我的test.py 中使用TaskQueueTestCase 作为基类,它为我完成了所有setUp 的魔法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    相关资源
    最近更新 更多