私は Java 開発者で、Java エンティティを POJO としてテストしていました。ここで、Obj-C を使用して、NSManagedObject から継承するエンティティに対して同じことを行いたいと思います (永続化のために CoreData を使用します)。
たとえば、 Customer エンティティを次のようにテストしたいと思います。
-(void)myTest {
Customer *customer = [Customer alloc] init];
customer.name = @"toto";
GHAssertEqualStrings(customer.name, @"toto", @"");
}
しかし、私が遭遇したエラーは次のとおりです。
NSInvalidArgumentException Reason: -[Customers setName:]: 認識されないセレクターがインスタンスに送信されました ...
したがって、適切なデータベース スキーマ URL を使用して、setUp 内のすべての NSManagedObjectContext をロードしました。今、私は顧客をそのようにインスタンス化し、それが機能します:
Customers *customer = [NSEntityDescription
insertNewObjectForEntityForName:kDataBaseCustomerKey inManagedObjectContext:ctx];
しかし、 「POJO」をテストする適切な方法はありますか? この場合、データモデルを気にしないため、モデルをロードせずに Customer クラスをテストしたいと思います。
ご提案いただきありがとうございます。
よろしく。