【发布时间】:2017-10-20 22:23:33
【问题描述】:
假设我有一个名为 foo 的模块,其类为 Bar。 Bar 有一个类范围的计数器属性,允许我跟踪创建实例的顺序。 foo 看起来像这样:
from itertools import count
class Bar:
class_count = count(0)
def __init__(self):
self.id = self.class_count.next()
现在我有一个测试文件,我正在测试Bar 的各种功能。我不确定如何测试这个id 属性,因为其他单元测试正在创建Bar 的实例,所以我不知道Bar 实例的给定ID 应该是什么.此外,我班级的这种行为意味着我的单元测试彼此独立,这是不可取的。我应该如何构建我的单元测试以使测试彼此独立?
【问题讨论】:
-
这很可能回答了你的问题:stackoverflow.com/questions/7460363/…
-
这里的问题是:测试什么?基本上你只需要测试计数器的下一个方法是否被调用。测试计数器的功能不是你的工作。因此,模拟计数器并断言模拟是否按预期调用。
标签: python unit-testing class python-unittest