testbedを使ってテストコードを書く

AppEngineではtestbedモジュールがテスト用のAPIスタブを用意してくれる。
Local Unit Testing for Python  |  Python  |  Google Cloud Platform
unittestのsetUpとかで使うといいらしい。

import unittest


class TestBedTestCase(unittest.TestCase):
    def _setup_testbed(self):
        from google.appengine.ext import testbed
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()
        self.testbed.init_memcache_stub()
        self.testbed.init_taskqueue_stub()

    def _teardown_testbed(self):
        self.testbed.deactivate()

    def setUp(self):
        self._setup_testbed()

    def tearDown(self):
        self._teardown_testbed()