【发布时间】:2009-10-18 07:03:13
【问题描述】:
我有一个类似如下的课程:
class Positive(object):
def __init__(self, item):
self._validate_item(item)
self.item = item
def _validate_item(self, item):
if item <= 0:
raise ValueError("item should be positive.")
我想为_validate_item() 编写一个单元测试,如下所示:
class PositiveTests(unittest.TestCase):
def test_validate_item_error(self):
self.assertRaises(
ValueError,
Positive._validate_item,
0
)
不幸的是,这行不通,因为单元测试仅将 0 传递给方法,而不是类实例(对于 self 参数)和 0。除了必须对此进行测试之外,还有其他解决方案吗通过类的__init__()间接验证方法?
【问题讨论】:
标签: python unit-testing oop testing