如何使用SQLAlchemy / Postgres编写单元测试以确认插入无效记录失败?我目前正在这样做:
session.add(invalid_record)
session.flush()
query = list(session.query(Article).filter_by(
record_id=invalid_record.record_id,
))
assert len(query) == 0
但是当我尝试添加无效记录(违反Not Null约束)时,这会失败。
答案 0 :(得分:2)
如果您使用的是assertraises
,则可以使用unittest
,请参阅此前一个答案:https://stackoverflow.com/a/28223420/5982697
类似于:
with self.assertRaises(sqlalchemy.exc.IntegrityError):
session.add(invalid_record)
假设它引发sqlalchemy.exc.IntegrityError
。
编辑:大写R