python - 我是否需要创建一个类实例以使用 unittest 进行测试?

标签 python class unit-testing python-3.x

假设我有:

class Calculator():
    def divide (self, divident, divisor):
        return divident/divisor`

我想使用 Python 3.4 unittest 模块测试它的 divide 方法。

我的代码是否必须具有类的实例才能对其进行测试?即,下面的测试类需要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))

最佳答案

因为它有一个self参数,所以它是一个实例方法,所以你需要一个实例。

如果它没有self,您可以将其设为@classmethod@staticmethod,参见what's the difference .

因为您不使用 self 参数,所以它可能不是实例方法。但是您可以只使用一个函数而不使用任何类:

# calculator.py

def divide(dividend, divisor):
    return dividend / divisor

关于python - 我是否需要创建一个类实例以使用 unittest 进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28737359/

相关文章:

python - 将词典列表打印到模板

c++ - 基本成员初始化与在类声明中分配默认值

C# 序列化嵌套的自定义类列表

python - 比较字符串中的字符

python - sorted()/reversed() 的比较

php - 在单元测试中处理 Laravel HttpException

c++ - 与 Hudson 的持续集成和自动化测试 QWidgets

delphi - Delphi 数据模块的单元测试

python - 如何创建在 PyPI 上显示图片的 README.md?

c# - 如何重构此 C# 代码