Question

Son pratique d'utiliser des ressources de forfaits pour les tests, par exemple pour fournir le résultat attendu pour un test.

Pour les anciens tests de style logique, j'utiliserais le paquet principal pour cela. Toutefois, pour les tests de style d'application, le forfait principal est l'application elle-même.Je ne veux pas mettre des ressources de test dans le paquet principal.

Par exemple, le code suivant ne fonctionne pas si la ressource de test n'appartient à la cible de test:

//Load a resource from the main bundle
NSString* xml = [[TyphoonBundleResource withName:@"signUpResponse.xml"] asString];

...Y a-t-il un ensemble spécifique pour les tests?Comment puis-je obtenir une poignée à cela?

Était-ce utile?

La solution

Utilisez simplement:

NSBundle *testBundle = [NSBundle bundleForClass:[YourTestClass class]];

ou à Swift 3:

let testBundle = Bundle(for: type(of: self))

dans le code des tests.Tout ce que vous ajoutez dans 'Copy Bundle Resources' dans 'Build Phases' pour votre cible de tests dans XCode sera disponible dans ce paquet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top