1

我使用 Cocoapods 成功地将 Kiwi 测试框架添加到我现有的项目中。

target :KiwiUnitTest do
    pod 'Kiwi'
end

我可以创建一个非常基本的测试并让它通过:

describe(@"A simple test", ^{
    context(@"when adding 1 + 1", ^{
        it(@"should equal 2", ^{
            [[theValue(1+1) should] equal:theValue(2)];
        });
    });
});

但是,当我尝试测试我的一个模型时,事情就崩溃了。

我在我的规范中包含了我的模型的 .h 文件:

#import "MyModel.h"

然后当我运行测试时会出现一大堆错误。

一些我无法弄清楚的事情:

  • 如前所述,我将测试目标添加到现有项目中。如何与我的新测试目标共享我的模型类?只需在 Build Phases/Compile Sources 中选择 .m 文件?
  • 如果我的模型使用其他模型/辅助类/类别,我是否也需要与测试目标共享这些?我还需要将所有这些文件导入我的规范文件吗?
  • 我的模型依赖于 AFNetworking,我也将其安装为 Cocoapod。如何在我的测试目标中使用该库?我试过简单地导入 AFNetworking.h 但这显然失败了。

谢谢!

4

1 回答 1

0
  • 我已经阅读了其他建议,但除了测试代码的 .m 文件之外,我们最终在“编译源”中的测试目标中包含了所有非测试 .m 文件
  • 添加测试目标后,您可能需要pod install再次运行。它应该为您的测试目标和普通目标设置依赖关系。
于 2012-10-02T21:34:11.437 回答