考虑这个测试函数
@unittest.expectedFailure
def test_add_existing_user(self):
user = User('test_add_existing_user', 'welcome')
db.session.add(user)
db.session.commit()
self.assertEquals(1, len(User.query.all()))
db.session.add(User(user.email, 'welcome'))
db.session.commit()
此测试将失败,IntegrityError
因为用户电子邮件列有unique=True
该测试工作正常,但我需要检查我的测试遇到的错误是否是IntegrityError
,有没有办法测试/验证引发的错误?
因为错误可能发生在最后一条语句执行之前很久,然后我们的测试中就会出现误报