You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中通过传入类作为函数参数实现依赖注入的单元测试方案咨询

依赖注入实现单元测试的伪代码示例

我明白你的思路方向——虽然可能还有调整空间,但为了给代码做单元测试,引入依赖注入(Dependency Injection)确实是个靠谱的办法,把遵循协议的类作为参数传入就能实现解耦,让测试变得更灵活。

下面是整理好的伪代码示例:

protocol LocalSavingProtocol { 
    static func saveDataLocally() 
}

class ProductionClass: LocalSavingProtocol {
    static func saveDataLocally() { 
        print("actually save data") 
    }
}

class TestClass: LocalSavingProtocol {
    static func saveDataLocally() { 
        print("test saving...") 
    }
}

简单解释下这段代码的作用:

  • 先定义了一个LocalSavingProtocol协议,它规定了必须实现的静态方法saveDataLocally(),这相当于统一了“本地存储”这个行为的契约
  • ProductionClass是生产环境中会用到的类,它实现了协议的方法,执行真实的本地存储操作
  • TestClass是专门为单元测试准备的类,同样遵守协议,但方法里只做测试相关的输出,这样在写单元测试时,你可以把这个类注入进去,不用操作真实的存储系统,就能验证逻辑是否正确

内容的提问来源于stack exchange,提问作者Denis Balko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:03:18