当我们在客户端实现推送跳转需求后,但是服务器还没有做好后台的配置,此时需要测试收到推送消息之后能否按照预期,执行我们的代码。但在这个情况下如何去做呢。这里可以提供给大家两个选择。
1. 封装好处理逻辑的接口,在程序启动或者某个时刻模拟数据,直接调用处理逻辑的接口,查看是否符合预期。该情况只适用于测试跳转逻辑,不能测试数据解析的正确性(例如字段名是否正确、字段的类型是否正确等)。
例如,我们处理推送消息的函数都写在了Appdelegate.m中的- (void)dealWithNotification:(NSDictionary*)userInfo函数里
那么我们就需要来构造数据进行模拟推送,比如这样:
// 用于模拟器测试推送 方便快速测试推送问题 使用这个函数测试完,请务必在真实推送情况下测试
- (void)sendNotificationSelf:(RemoteNotificationType)type
{
NSDictionary * dictionary = nil;
if (type == kRemoteNotificationExpression)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@(3), @"flag", @(1033), @"secondClassifyId", nil];
else if (type == kRemoteNotificationDwaft)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@(5), @"flag", @"宝贝计划", @"templateName", @(126), @"templateId", nil];
else if (type == kRemoteNotificationCharacter)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@(6), @"flag", nil];
else if (type == kRemoteNotificationSoundExpressionCategory)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@(8), @"flag", @(176), @"classifyId", @"", @"classifyName", nil];
else if (type == kRemoteNotificationSoundExpressionSubjectDetail)
dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@(9), @"flag",