台风:如何注入类而不是实例

时间:2015-05-31 18:41:14

标签: swift unit-testing dependency-injection typhoon

我有一个用Swift编写的第三方库。该库提供了一个包含一些类方法的类。使用Typhoon,我想将类注入我的一个类中,以便在单元测试下,我可以注入一个提供伪类方法的mock类。我是Typhoon的新手,我去了文档,但还没弄明白怎么做。这甚至可以用台风吗?

1 个答案:

答案 0 :(得分:1)

是的,在“用户指南”中,“注入配置”部分显示了如何注入基元,标量值等。

注入课程:

[initializer injectParameterWith:[SomeClass class]];

这也适用于属性注入和方法注入。

注入选择器:

[initializer injectParameterWith:NSValueFromPrimitive(@selector(selectorValue))];

台风规则:

  • 对其他定义的引用将解析为构建的实例。
  • 按原样注入简单对象,基元和标量值(必须包装标量值和基元)。
  • 包含对其他定义的引用的集合(NSArray,NSSet等)将这些引用解析为构建的实例。任何其他值都按原样传递。

还有Typhoon Config,它允许在外部plist,json或属性文件中存储配置,简单对象等。