白盒或黑盒测试定义了某些操作的协议

时间:2018-12-21 12:38:46

标签: swift unit-testing swift-protocols

我正在实现某种操作,它由一些截然不同的逻辑步骤组成,例如,获取多个对象,对其进行转换,将其持久化到数据库等等。我为此操作定义了一个协议P,并且我想测试该操作是否在实现类中正确实现。

将操作分为协议中的不同方法而不是仅具有一种测试方面的利弊是什么?

换句话说,这主要是经过白盒测试还是经过黑盒测试?

现在,我将操作拆分为我认为是逻辑步骤,并为协议中的每个步骤提供了一种方法。有人可能会说实现类应该只能够执行操作,而各个步骤都是实现细节。但是我们的想法是将它们分解以便可以对它们全部进行测试。

无法显示确切的代码,但这是以下几行中的内容:

protocol P {
    func step1()
    func step2()
    ....
}

然后另一个选择是

protocol P {
    doOperation()
}

0 个答案:

没有答案