[NSURLConnection sendAsynchronousRequest:[[NSURLRequest alloc] initWithURL:url] queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {

    if (error) {
        NSLog(@"Error");
    } else {
        NSError *e = nil;
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e];

        if (!jsonDict) {
            NSLog(@"Error parsing JSON: %@", e);
        } else {


        }
    }
}];

嗨,您好,

我正在尝试编写一个简单的单元测试,以检查json的解析是否成功?

我没有单元测试的经验。

谢谢

最佳答案

如果要测试解析器方法。然后,您可以在测试类中创建一个虚拟jsonDict。使用该jsonDict调用解析器方法。

-(void) testParserMethod {
        // jsonDict = {} // fill according to your method need
        // let say our parser method require a dictionary containing name and age. and set our object. then we can create a dict like this.
       NSDictionary jsonDict= @{ @"name" : @"name",
                @"age" : @"age",
              };
        YourObject object = [YourParserClass parseMethed:jsonDict]

        XCTAssertEqual(object.name, jsonDict[@"name"])
        XCTAssertEqual(object.age, jsonDict[@"age"])
}

如果使用我们提供的虚拟jsonDict正确设置了对象。然后测试用例将通过。

10-07 20:23