Дано:
class A:
pass
class B(A):
pass
isinstance(B(), A)
вернет True.
НО
class MyModel(db.Model):
pass
isinstance(MyModel(), db.Model)
возвращает False
(обязательно True
?).
Что мне не хватает?
Edit:
Хорошо, самый простой тест, который не прошел - создал пустой проект GAE. Внутри main.py я определил:
from google.appengine.ext import db
class MyModel(db.Model):
detail = db.StringProperty()
Затем я создал тестовый файл (test_ami.py), который содержит следующее:
import unittest
from main import MyModel
from google.appengine.ext import db
class TestAmI(unittest.TestCase):
def test_whatami(self):
m = MyModel()
self.assertEquals(True, isinstance(m, db.Model));
self.assertEquals(True, isinstance(MyModel(), db.Model));
В командной строке: тесты на нос --with-gae приводит к:
Файл "test_ami.py", строка 8, в test_whatami self.assertEquals (True, isinstance (m, db.Model)) AssertionError: True! = False
Строка 8: self.assertEquals (True, isinstance (m, db.Model));