我有一个协议,我在扩展中定义了它。
我想对定义进行单元测试。
我用谷歌搜索了一下,但我找不到任何相关的东西。
我得到的最接近的是Mocking with Protocol或POP等。
如果有人能用样本来解释我,那就太好了。
发布于 2021-03-01 18:19:09
没有必要对协议本身进行单元测试,您应该测试一致性类型。如果你有一个带有一些默认行为的协议扩展你想要测试,那么在你的测试目标中创建一些符合该协议的基本结构或类,并在你的测试中使用它。
下面是一个示例,给出了下面的协议,其中包含一个函数以及该函数的默认实现
protocol Example {
func calculate(_ x: Int) -> Int
}
extension Example {
func calculate(_ x: Int) -> Int {
x * 2
}
}你可以在你的测试目标中添加一个简单的结构来测试它,因为我们想要测试默认的实现,这个结构变得非常简单
struct TestExample: Example {}然后,单元测试可能如下所示
func testDefaultCalculation() {
let sut = TestExample()
XCTAssertEqual(2, sut.calculate(1))
}https://stackoverflow.com/questions/66419728
复制相似问题