首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对协议及其扩展进行单元测试

如何对协议及其扩展进行单元测试
EN

Stack Overflow用户
提问于 2021-03-01 17:41:23
回答 1查看 73关注 0票数 1

我有一个协议,我在扩展中定义了它。

我想对定义进行单元测试。

我用谷歌搜索了一下,但我找不到任何相关的东西。

我得到的最接近的是Mocking with Protocol或POP等。

如果有人能用样本来解释我,那就太好了。

EN

Stack Overflow用户

回答已采纳

发布于 2021-03-01 18:19:09

没有必要对协议本身进行单元测试,您应该测试一致性类型。如果你有一个带有一些默认行为的协议扩展你想要测试,那么在你的测试目标中创建一些符合该协议的基本结构或类,并在你的测试中使用它。

下面是一个示例,给出了下面的协议,其中包含一个函数以及该函数的默认实现

代码语言:javascript
运行
复制
protocol Example {
    func calculate(_ x: Int) -> Int
}

extension Example {
    func calculate(_ x: Int) -> Int {
        x * 2
    }
}

你可以在你的测试目标中添加一个简单的结构来测试它,因为我们想要测试默认的实现,这个结构变得非常简单

代码语言:javascript
运行
复制
struct TestExample: Example {}

然后,单元测试可能如下所示

代码语言:javascript
运行
复制
func testDefaultCalculation() {
    let sut = TestExample()
    XCTAssertEqual(2, sut.calculate(1))
}
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66419728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档