且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python-测试属性引发异常

更新时间:2022-06-24 03:08:07

assertRaises需要可调用的对象.您可以创建一个函数并将其传递:

assertRaises expects a callable object. You can create a function and pass it:

obj = Class()
def setNameTest():
    obj.name = "Name"        
self.assertRaises(NameError, setNameTest)

另一种可能性是使用setattr:

self.assertRaises(NameError, setattr, obj, "name", "Name")

您的原始代码引发语法错误,因为赋值是一条语句,不能放在表达式中.

Your original code raises a syntax error because assignment is a statement and cannot be placed inside an expression.