首页 > 解决方案 > 测试工厂方法 iOS

问题描述

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

我面临的主要挑战是知道要测试什么。

标签: iosobjective-cunit-testing

解决方案


单元测试的范围可能非常有限,几乎仅限于被测试事物的意图。对于返回实例的类方法,单元测试问题是:我是否得到了按预期初始化的类的实例?

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

推荐阅读