Rendering unit tests par Nicolas Fontaine

  • View
    279

  • Download
    0

  • Category

    Mobile

Preview:

Citation preview

TESTS UNITAIRES DE RENDU FBSNAPSHOTTESTCASE

SwiftNicolas Fontaine

PAPI ! RACONTE MOI COMMENT TU TESTES L’UI DE TES APPLICATIONS ?

TU SAIS MON PETIT, LES TESTS UNITAIRES ET L’UI C’EST JAMAIS UNE HISTOIRE D’AMOUR

FOLICHONNE

MAIS ALORS… COMMENT TESTER FACILEMENT ET

EFFICACEMENT L’UI ?

ET BIEN LE PREMIER PAS…

C’EST DE BIEN ISOLER SES COMPOSANTS GRAPHIQUES

OK ET APRÈS ?…

APRÈS… IL Y A FACEBOOK !

TU M’EXPLIQUES LE RAPPORT ?

BON, POUR ÊTRE PLUS PRÉCIS, IL Y A FBSNAPSHOTTESTCASE

*reprend son souffle*

UN FRAMEWORK CONÇU PAR

OH !!! TU M’EXPLIQUES COMMENT ÇA MARCHE ?

11

Qu’est-ce que c’est ?

Original En lançant les TUs

12 Nov 2016

17 Nov 2016

12

Comment ça marche ?

Ajouter FBSnapshotTestCase à votre target de tests :

À la création d’un pod :

Manuellement via le podfile :

13

Comment ça marche ?

Définir une variable d’environnement « FB_REFERENCE_IMAGE_DIR » Qui indique le dossier vers lequel enregistrer les snapshot de référence

14

Comment ça marche ?

Remplacer votre classe de test « XCTestCase » par « FBSnapshotTestCase »

Placer le mode record dans la méthode setUp :

self.recordMode = true;

Une fois que vous avez enregistré tous vos snapshot, il faut commenter cette ligne

15

Comment ça marche ?

Méthodes :

FBSnapshotVerifyView(view: UIView)

FBSnapshotVerifyView(view: UIView, identifier: String, suffixes: NSOrderedSet, tolerance: CGFloat>)

View à tester Suffix du snapshot Nom du dossier final contenant les

snapshot (seul le premier élément du set semble être pris

en compte) Par défaut : « _64 »

ou « _32 » (bits)

Pourcentage de tolérance entre 0

et 1.

OLALA PAPI, ILS FAUT VRAIMENT QU’ILS APPRENNENT À NOMMER CORRECTEMENT CHEZ

FACEBOOK…

EN EFFET, ET JE TE PARLE MÊME PAS DU MANQUE DE DOCUMENTATION

18

Visualiser la différence en cas d’échec d’un TU

Avant XCode8 il y avait le plugin alcatraz dédié Maintenant c’est un peu plus manuel (cf démo)

19

Visualiser la différence en cas d’échec d’un TU

Définir une variable d’environnement « IMAGE_DIFF_DIR » Qui indique le dossier vers lequel enregistrer les snapshot des tests en échecs

DÉMO

Composant « UnderlineTextfield »

MERCI POUR VOTRE ATTENTION !

AVEZ-VOUS DES QUESTIONS ?

Contact : fontaine.nicolas34@gmail.com