如何编写简单的单元测试来测试JSON的解析?

时间:2015-12-05 17:34:30

标签: ios objective-c json unit-testing

[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的解析是否成功?

我没有单元测试的经验。

感谢

1 个答案:

答案 0 :(得分:0)

如果要测试解析器方法。然后,您可以在Test Class中创建一个虚拟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正确设置了对象。然后测试用例将通过。