myA = A()myA.myattribute = 9 # this should throw an error
我想编写一个unittest来确保这会引发错误.
在创建测试类并继承unittest.TestCase之后,我尝试编写如下测试:
myA = A()self.assertRaises(AttributeError,eval('myA.myattribute = 9'))
但是,这会引发语法错误.但是,如果我尝试使用eval(‘myA.myattribute = 9’),它会抛出属性错误.
如何编写单元测试来正确测试?
谢谢.
解决方法 您还可以使用assertRaises作为上下文管理器:with self.assertRaises(AttributeError): myA.myattribute = 9
documentation shows more examples for this if you are interested. assertRaises的文档也有关于这个主题的更多细节.
从该文件:
If only the exception and possibly the msg arguments are given,return a context manager so that the code under test can be written
inline rather than as a function:06001
这正是你想要做的.
@H_301_57@ 总结以上是内存溢出为你收集整理的如何在python中为变量赋值编写unittest?全部内容,希望文章能够帮你解决如何在python中为变量赋值编写unittest?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)