我面临着测试仅针对类方法抛出异常的问题:
import unittest
class AclassTest(unittest.TestCase):
# 1st example:
def test_m(self):
self.assertRaises(NotImplementedError, Aclass.m_method, self)
# 2nd example:
@classmethod
def test_d(self):
self.assertRaises(NotImplementedError, Aclass.d_method)
第一个例子工作得很好,第二个例子没有。照原样,我的第二个示例失败并显示以下消息:
E TypeError: assertRaises() arg 1 must be an exception type or tuple of exception types
我的班级
Aclass
有2种方法,m_method
和d_method
。唯一的区别是方法d_method
是一个类方法。
我从我的测试中删除了
classmethod
装饰器,它会工作,但我不知道这是否是测试类方法的正确方法。
这是语法:
def test_m(self):
self.assertRaises(NotImplementedError, Aclass.m_method, self)`
# TO BECOME
def test_m(self):
with self.assertRaises(NotImplementedError):
Aclass.m_method