class A:
pass
class B(A):
pass
isinstance(B(), A)
將返回true。
但
class MyModel(db.Model):
pass
isinstance(MyModel(), db.Model)
回報False
(當然True
?)。
我錯過了什麼?
編輯: 好吧,最簡單的測試失敗 - 創建一個空白的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));
在命令行:nosetests --with -gae結果:
文件 「test_ami.py」,8號線,在test_whatami self.assertEquals(真,isinstance(男,db.Model))Asse田:真=假
8號線是:自我。 assertEquals(True,isinstance(m,db.Model));
更多細節: 從google.appengine.ext進口分貝 類生(db.Model): ... ,然後在單元測試 進口單元測試 從google.appengine.ext進口分貝 from models.health import健康 class TestHealth(unittest.TestCase): def test_foo(self): h = Health(); print isinstance(Health(),db.Model) print isinstance(h,db.Model) 最後兩行同時打印False – bryanallott 2010-05-05 07:57:33