iOS模拟课程对班级负载有副作用



我们正在尝试创建一个单元测试(尽管使用Ocmock,但要向其他框架开放),该框架在类负载上具有副作用。

我们有一个跟踪类,可以将呼叫打电给其他跟踪库,例如Flurry。

其他许多跟踪库(特别是Flurry)在类初始化上执行代码。

单元测试失败,因为代码无法在单元测试环境中执行。理想情况下,我们想用模拟/存根代替Flurry类。

- (void) testConstruction {
    [Flurry class];
}

当该代码称为此代码时,它尝试使用SCNetworkReachability并接收exceptions ...

我们如何 stub/mock 输出对Flurry的呼叫,该呼叫具有以下静态实现?

[Flurry setAppVersion:@"1.0"];
[Flurry setCrashReportingEnabled:NO];

我将从我用于测试的构建配置中删除Flurry(从框架搜索路径/库搜索路径中删除它)。我会通过抓住Flurry标头文件并使用空方法创建自己的实现来创建自己的虚拟弹力。最后,如果我关心正在称呼Flurry,我会使用Ocmock嘲笑我的假班。

最新更新