测试方法相互依赖

时间:2017-01-24 17:11:14

标签: unit-testing testing

假设我有一个简单的数据结构Store,它有两个方法:addlist_all(python中的示例):

class Store:
    def __init__(self):
        self.data = []
    def add(self, item):
        self.data.append(item)
    def list_all(self):
        return list(self.data)

测试其方法看起来像:

def test_add():
    store = Store()
    store.add("item1")
    items = store.list_all() 
    assert len(items) == 1
    assert items[0] == "item1"

def test_list_all():
    store = Store()
    store.add("item1")
    items = store.list_all() 
    assert len(items) == 1
    assert items[0] == "item1"

这些测试很尴尬,它们的字体完全相同。要测试list_all方法,我必须假设add已经正常运行,并且要测试add我必须使用list_all来检查{{1}的状态}}。你如何测试这些方法?您是否只编写一个测试用例并说“#34;这证明两种方法都能正常工作"

PS:这是一个理论问题。我正在测试一个复杂的系统,由于这些问题,无法找到从哪里开始自下而上的方法。

0 个答案:

没有答案