OCMockito / OCHamcrest验证数组包含对象属性

时间:2016-03-23 07:18:57

标签: objective-c ocmockito ochamcrest

我正在创建一个添加一些本地通知的应用程序。 这是我的考试

- (void)testFirstLogin {

//some initials array
NSArray *withoutFriends = @[@"a", @"b", @"c", @"e", @"f"];
NSArray *withFriends = @[@"v", @"w", @"x", @"y", @"z"];

//my service which add local notifications
LocalNotificationService *service = [LocalNotificationService sharedInstance];
service.lastLoginDate = nil;

//UIApplication mock
UIApplication *application = mock([UIApplication class]);
service.applictation = application;

//method which adds notifications
[service addNotificationScheduleFirstLoginWithNoFriendsArray:withoutFriends friendsExistArray:withFriends];

//In this method I create UILocalNotification
/*
 UILocalNotification *localNotification = [[UILocalNotification alloc] init];
 localNotification.alertBody = text;
 */

//and add it to schedule
//[self.applictation scheduleLocalNotification:localNotification];

[verifyCount(application, times(1)) scheduleLocalNotification:anything()]; }

这是正确的,验证是成功的。 但我需要验证我的UILocalNotification对象属性 alertBody 是否在 withoutFriends 数组中。 有办法吗?

1 个答案:

答案 0 :(得分:1)

我看到有一个匹配器isIn missing from the README。与hasProperty匹配器一起,我们可以写:

[verifyCount(application, times(1)) scheduleLocalNotification:hasProperty(@"alertBody", isIn(withoutFriends))];