Google App Engine, Python 2.7 с помощью ОПРСGAE объект вставлен, но отсчет() ноль
Когда я запускаю следующий тест - он выдает ошибку на последнем утверждают ->
self.assertEqual(models.Log.query().count(), 1)
AssertionError: 0 != 1
Вход является базовый класс ndb.Model. Выполнение этих тестов Цените помощь.
import unittest2
from google.appengine.ext import ndb
from google.appengine.ext import testbed
from google.appengine.datastore import datastore_stub_util
import rm.base.models as models
class TestModels(unittest2.TestCase):
def setUp(self):
# First, create an instance of the Testbed class.
self.testbed = testbed.Testbed()
# Then activate the testbed, which prepares the service stubs for use.
self.testbed.activate()
# Create a consistency policy that will simulate the High Replication consistency model.
self.policy = datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=0)
# Initialize the datastore stub with this policy.
self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
def tearDown(self):
self.testbed.deactivate()
def testModelsLog(self):
l = models.Log(comment='hello kitty')
l.put()
self.assertEqual(l.comment, 'hello kitty')
self.assertTrue(l.user is None)
self.assertEqual(models.Log.query().count(), 1)
Спасибо Тим. Я совершенно новичок в этом, и я изучаю веревки. –
Стоит перечитать ваше оригинальное сообщение. Вы действительно не задали вопрос, просто сделали заявление, а затем сказали: «Цените помощь», а это значит, что мы должны угадать, о чем вы действительно спрашиваете. –
Поскольку эту модель согласованности следует ожидать в GAE, каков ожидаемый способ обеспечения предотвращения дублирования ключей при вставке? например: если у меня есть поле типа первичного ключа, могу ли я каким-то образом объединить его с ключом? использовать _pre_put_hook, чтобы проверить это? –