昨今明日2013/05/23KiwiでNSManagedObject派生クラスへstubを設定するKiwiはiOSでBDDを実施するためのライブラリです。Mock作成の仕組みなどが組み込まれており、他ライブラリを別途インストールすることなく、素早くテストを行うことができます。CoreDataのテストを行う目的で、NSManagedObject派生クラスへstubを設定する場合には注意が必要です。そのEntityが持つAttributeと紐付いたPropertyをStubにしようとしても実行時エラーになってしまいます。BookというEntityを作りauthorというAttributeを設定します。このEntityから生成されるBookクラスは次のようなコードになります。*author;@endこのauthorをStubにしようと、次のようにKiwiのテストケースを書いたとします。equal:@"Anonymous"];の実行でエラーになってしまいます。このような場合、authorを@protocolで括りだし、そのプロトコルに対してテストを行うのが簡単です。テストしたいAttributeを含むプロトコルを作成します。*author;@end次に、NSManagedObjectを継承したBookクラスでこのプロトコルを実装します。<BookAttributes>@endテストではProtocolのMockを作成し、そのStubを実装します。equal:@"Anonymouss"];});これでNSManagedObject派生クラスが持つAttributeに対してもテストができるようになります。-bを使いますが、稀に、他のcommitから派生していない、すなわち親の存在しないbranchを作りたいことがあります。新規にcommitを組み直したい、といった場合です。ソースコードの新規公開へむけて、過去の履歴を含まないbranchを新規に作成したい場合にも使えるかもしれません。<branch-name>これで親のいない、まさにorphanなbranchを作ることができます。treeへ含まれているファイルは消えません。ユーティリティ(バージョン6.3.6)に基づいています。経由でアクセス出来るように設定する必要がありました。して、HostBasedAuthentication(以下、ホストベース認証)の設定方法をまとめました。G(VGN-G2)のディスクが壊れてしまいました。実行してみると不良セクタが存在しています。セクタ破壊が進んで再読込が繰り返されているのか、動きも緩慢になってきています。