Sto provando a scrivere test unitari per la convalida JSON (poiché l'app si basa pesantemente su JSON da un'API di riposo).Come leggere un file JSON locale per il test
Ho un file locale che contiene semplice JSON: "goodFeaturedJson.txt"
il contenuto:
{
"test": "TEST"
}
il banco di prova:
- (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...");
}
il test fallisce ogni volta. La console stampa:
The json string is: (null)
Perché? So perché il test sta fallendo, poiché chiaramente se i dati sono nulli/nulli non ci sarà nessun json valido, e il validatore si romperà (cosa che dovrebbe essere se non valido).
Deve esserci qualcosa di semplice che mi è sfuggito qui, qualche idea?
dovrebbe ofType essere 'ofType: @" txt "'? –
La stringa è ancora null se lo faccio. Ho provato il testo e "json" come tipo. Il risultato sembra essere sempre lo stesso e non sono sicuro del perché. –
Che cosa dice l'errore (che a quanto pare non si preoccupa di controllare)? –