用于Google App Engine的本地Django单元测试存根
我想在本地运行一个Django项目的单元测试,这个项目是为Google App Engine(GAE)做的。最近,GAE推出了一些python单元测试工具
,这些工具可以帮助我们创建一些模拟功能,比如memcache、数据存储和任务队列等等。
我希望能使用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_environment
和teardown_test_environment
时会不会有什么问题?还有其他可能出现的问题吗?
顺便说一下,我没有使用任何Django-GAE的辅助工具,比如google-app-engine-django。
感谢你的阅读。
1 个回答
1
我想提一下:标准的Django单元测试在我使用django-nonrel和GAE Test Bed的时候效果非常好,包括任务队列、内存缓存等等。我觉得这和你提到的Python单元测试代码是一样的。