测试工厂方法iOS

时间:2019-01-08 20:10:18

标签: ios objective-c unit-testing

对于创建其他对象的工厂,我应该采取什么方法编写单元测试?我看到过一些测试,它们会简单地将两个PeriodicNotificationassert初始化为相等的对象。也许还将PeriodicNotification属性与通知属性进行比较,以测试PeriodicNotification是否正确解析?

我面临的主要挑战是知道要测试的内容。

1 个答案:

答案 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