Como ler em um arquivo JSON local para teste
Eu estou tentando escrever testes de unidade para validação de json (desde que o aplicativo depende muito do json de uma API de descanso).
Eu tenho um arquivo local que contém json simples: "goodFeaturedJson.txt"
O conteúdo:
{
"test": "TEST"
}
O caso de teste:
- (void)testJsonIsValid
{
Featured *featured = [Featured new];
NSString* filepath = [[NSBundle mainBundle]pathForResource:@"goodFeaturedJson" ofType:@"text"];
NSData *data = [NSData dataWithContentsOfFile:filepath];
NSString *jsonString = [[NSString alloc] initWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:nil];//[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"The json string is: %@", jsonString);
id JSON = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
STAssertTrue([featured jsonIsValid:JSON], @"Featured Data is NOT valid...");
}
O teste falha todas as vezes. O console imprime:
The json string is: (null)
Por quê? Eu sei porque o teste está falhando, uma vez que claramente se os dados forem nil / null não haverá nenhum json válido, e o validador irá quebrar (o que deve se for inválido).
Deve haver algo simples que eu perdi aqui, alguma idéia?