当我在 python unittest 的 setUp 中保存一个实例时,我弹出了 2 个错误:
sqlite3.IntegrityError:NOT NULL约束失败: registro_c170.reg_c100_id
和
peewee.OperationalError:连接已打开。(这是为我的测试类中的每个 test_method 引发的。)
语境:
我对面向对象的编程和单元测试非常陌生。我正在使用python构建寄存器层次结构的模型。该注册簿包含有关税收和问责制的信息。
模型:
from peewee import *
db = SqliteDatabase('pis_cofins.db')
class BaseModel(Model):
class Meta:
database = db
class Registro_C100(BaseModel):
"""
"""
# Atributos
x = CharField()
y = CharField()
@property
def dados(self):
# some property
@dados.setter
def dados(self, novos_dados):
#...
@property
def formato_linha(self):
# some method
class Registro_C170(BaseModel):
"""
"""
# Atributos
a = CharField()
b = CharField()
reg_c100 = ForeignKeyField(Registro_C100, backref='registros_c170')
@property
def dados(self):
# some property
@dados.setter
def dados(self, novos_dados):
# ...
@property
def formato_linha(self):
# some method
老实说,我知道我唯一可以尝试的是在每个测试方法中创建每个实例,但这正是我想要避免的。
我搜索了“peewee testing”和“peewee unittest”,但没有找到任何有用的东西。Peewee文档只有你展示了如何写的安装和拆卸方法: http://docs.peewee-orm.com/en/latest/peewee/database.html#testing-peewee-applications 或如何使用他们的test_utils: HTTP: //docs.peewee-orm.com/en/latest/peewee/playhouse.html#test-utils
慕森卡
相关分类