【发布时间】:2012-11-09 09:28:46
【问题描述】:
我是 Java 开发人员,我曾经将我的 Java 实体作为 POJO 进行测试。现在,使用 Obj-C,我想对继承自 NSManagedObject 的实体执行相同的操作(我使用 CoreData 进行持久化)。
例如,我想测试我的客户实体:
-(void)myTest {
Customer *customer = [Customer alloc] init];
customer.name = @"toto";
GHAssertEqualStrings(customer.name, @"toto", @"");
}
但是我遇到的错误是:
NSInvalidArgumentException 原因:-[Customers setName:]:无法识别的选择器发送到实例...
所以我已经使用适当的数据库架构 url 在 setUp 中加载了所有 NSManagedObjectContext。现在我将我的客户实例化为它并且它可以工作:
Customers *customer = [NSEntityDescription
insertNewObjectForEntityForName:kDataBaseCustomerKey inManagedObjectContext:ctx];
但这是测试 'POJO' 的合适方法吗?我想在不加载任何模型的情况下测试我的 Customer 类,因为在这种情况下我不关心数据模型。
感谢您的建议。
问候。
【问题讨论】:
标签: ios unit-testing nsmanagedobject gh-unit