说我有:
class Calculator():
def divide (self, divident, divisor):
return divident/divisor`
我想使用Python 3.4 unittest
模块测试其除法。
我的代码是否必须具有类的实例化才能进行测试?即,以下测试类中需要的setUp
方法:
class TestCalculator(unittest.TestCase):
def setUp(self):
self.calc = src.calculator.Calculator()
def test_divide_by_zero(self):
self.assertRaises(ZeroDivisionError, self.calc(0, 1))
python大神给出的解决方案
因为它具有self
参数,所以它是一个实例方法,因此您需要一个实例。
如果没有self
,则可以将其设为@classmethod
或@staticmethod
,请参见what's the difference。
由于您不使用self
参数,因此它可能不应该是实例方法。但是您可以只具有一个函数而根本没有类:
# calculator.py
def divide(dividend, divisor):
return dividend / divisor