J'essaie actuellement d'implémenter le test de l'interface utilisateur dans mon application avec agile-snapshot. Je suis confronté à un problème que je ne comprends pas vraiment. J'ai regardé autour mais ne semble pas trouver une réponse à mon problème.Symboles non définis pour l'architecture x86_64 testant mon ViewController Swift
Mon problème se produit lorsque j'essaie d'instancier mon viewcontroller pour tenter de tester la vue qui lui est associée. La compilation échoue toujours avec ce message d'erreur.
Undefined symbols for architecture x86_64:
"__T06medici19LoginViewControllerCMa", referenced from:
__T013mediciUITests13LoginViewTestC4specyyFyycfU_yycfU_ in
testUILogin.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Mon code de test ressemble à ceci:
import Nimble
import Nimble_Snapshots
import Quick
import UIKit
@testable import XXXXMyProject
class LoginViewTest: QuickSpec {
override func spec() {
describe("LoginView") {
var vcLogin: LoginViewController!
beforeEach {
let storyboard = UIStoryboard(name: "Account", bundle: nil)
vcLogin = storyboard.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
_ = vcLogin.view // To call viewDidLoad
}
it("has a valid snapshot") {
expect(vcLogin.view) == recordSnapshot()
}
}
}
}
être tout à fait nouveau pour les tests de l'interface utilisateur, je ne comprends pas vraiment ce qui est à l'origine de cette question. Toute aide ou conseil serait grandement apprécié sur la façon de résoudre ce problème ou d'améliorer mon code de test de l'interface utilisateur.
Merci d'avance.
Martin
Vérifiez si votre contrôleur de vue est coché (coché) dans l'appartenance cible de votre test. –
Voyez-vous cette erreur comme erreur de liaison? –
@BadhanGanesh Cela signifie-t-il que je dois ajouter tous les fichiers de mon projet à l'appartenance cible de mon test d'interface utilisateur? Je pensais que "testable" ferait l'affaire et me donnerait accès à des éléments de mon projet. – Martin