1

単体テストと TDD の利点を自分自身に納得させようとして、最新の Cocos2D プロジェクトにテストを含めることにしました。最初のボイラープレート テストを起動して実行することは問題なく動作しますが、残念ながら、この後はあまり先に進むことができませんでした。テスト リグは Cocos2D クラスごとにボークします。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CCLayer", referenced from:
      _OBJC_CLASS_$_NORControlLayer in NORControlLayer.o
  "_OBJC_METACLASS_$_CCLayer", referenced from:
      _OBJC_METACLASS_$_NORControlLayer in NORControlLayer.o
ld: symbol(s) not found for architecture i386

上記の例では、NORControlLayer は CCLayer のサブクラスです。明らかな解決策は、単純に CCLayer をテスト リグにリンクすることですが、これにより、クラスを追加するたびにさらに 10 倍のクラスをリンクする必要があり、スズメバチの巣ができてしまうようです。

SenTestingKit が NORControlLayer と将来の Cocos2D サブクラスを受け入れるようにするためのモック (またはその他の巧妙なトリック) を作成する方法はありますか?

PS: 実際には、すべての cocos2d-class をテストキットのターゲットとして含めるようにしましたが、100 以上の同様のエラーが発生しました...

4

0 に答える 0