对于创建其他对象的工厂,我应该采取什么方法编写单元测试?我看到过一些测试,它们会简单地将两个PeriodicNotification
和assert
初始化为相等的对象。也许还将PeriodicNotification
属性与通知属性进行比较,以测试PeriodicNotification
是否正确解析?
我面临的主要挑战是知道要测试的内容。
答案 0 :(得分:0)
单元测试的范围可能很小,几乎仅限于被测试对象的意图。对于返回实例的类方法,单元测试的问题是:我是否得到了预期的初始化类的实例?
在OP情况下的测试可能是:
PumpNotification *pumpNotification = // stub object
PeriodicNotification *periodicNotification = [PeriodicNotification nodeFromNotification: pumpNotification];
// do I have an instance?
assert([periodicNotification isMemberOfClass:[PeriodicNotification self]])
assert([node[kJSON_type] isEqual:/*value from stub object*/])
// and so on for other values