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)];
        });
    });
});

ただし、モデルの1つをテストしようとすると、状況が崩れます。

モデルの.hファイルを仕様に含めます。

#import "MyModel.h"

そして、テストを実行すると、多数のエラーが発生します。

私が理解できないいくつかのこと:

  • 前述のように、テストターゲットを既存のプロジェクトに追加しました。モデルクラスを新しいテストターゲットと共有するにはどうすればよいですか?ビルドフェーズ/コンパイルソースで.mファイルを選択するだけですか?
  • モデルが他のモデル/ヘルパークラス/カテゴリを使用している場合、それらもテストターゲットと共有する必要がありますか?また、これらのファイルをすべてスペックファイルにインポートする必要がありますか?
  • 私のモデルは、CocoapodとしてインストールしたAFNetworkingに依存しています。テストターゲットでそのライブラリを使用するにはどうすればよいですか?AFNetworking.hをインポートしようとしましたが、明らかに失敗します。

ありがとう!

4

1 に答える 1

0
  • 他のアドバイスを読みましたが、テスト コードの .m ファイルに加えて、「ソースのコンパイル」のテスト ターゲットにすべての非テスト .m ファイルを含めることになりました。
  • テスト ターゲットを追加した後、おそらく再度実行する必要がありますpod install。テストターゲットと通常のターゲットの依存関係を設定する必要があります。
于 2012-10-02T21:34:11.437 に答える