我目前在app中使用了一些工作类,它只包含一个函数。
该函数执行类名称描述的操作:
protocol FooUpdatable {
func updateFoo(with foo: SomeFoo)
}
class FooUpdater: FooUpdatable {
let dependency: DependencyType
init(dependency: DependencyType = ConcreteDependency()) {
self.dependency = dependency
}
func updateFoo(with foo: SomeFoo) {
...
}
}
我认为其中一些应该是自由函数,而不是一个类 - 但当前架构的一个好处是可测试性。 在测试中,我可以通过构造函数注入替换模拟的依赖关系,但我不确定如何使用自由函数做到这一点。
func updateFoo(with foo: SomeFoo, dependency: DependencyType = ConcreteDependency() {
...
}
在Objective-C中,模拟框架可以通过调整来实现吗?什么方式在Swift中完成同样的事情?