Tests Unitaires (TestUnits) sur iPhone ?

AliGatorAliGator Membre, Modérateur
13:29 modifié dans API UIKit #1
Bonjour les gens !

Je vais avoir à  déployer une solution de tests unitaires pour des applis iPhones, et je me demandais si parmi vous il y en avait qui avait déjà  fait ?

J'ai parcouru (pour l'instant en diagonale sans tester vraiment) les docs Apple, en particulier Unit Testing Guide... mais dès le début je vois la mention
iPhone OS Unit Testing Support: Unit tests are not supported for iPhone applications.
Arg. zut de zut.

Alors j'ai vu aussi cet article sur les OCUnits, je ne sais pas si ça c'est supporté sur l'iPhone... Ils parlent dans cet article d'une autre solution existante, à  savoir UnitKit... mais je sais pas trop s'ils sont intégrés avec les Dev Tools ou à  installer à  côté... et surtout s'ils sont utilisables avec l'iPhone, eux...


Bref si vous avez des expériences dans ce domaine, je suis prenneur, j'ai jamais encore utilisé ce genre de choses dans Xcode, encore moins pour du test unitaire iPhone (et non MacOS)...

--

PS : J'adore les petites pointes d'humour qu'on trouve dans la doc Apple...
Before we start writing unit tests, you might be wondering what value it adds beyond the obvious: reducing the number of defects. Well, if you think writing unit tests is like eating your vegetables"probably a good thing, but you'd rather reach for the dessert"then you're missing out on some very tasty dishes.

Réponses

  • CéroceCéroce Membre, Modérateur
    13:29 modifié #2
    J'ai utilisé OCUnit à  plusieurs reprises.

    Dans une ancienne version, cela fonctionnait à  peu près ainsi: une appli sans IHM se lançait et déroulait les tests (qui consistent à  instancier une classe et vérifier que chaque méthode agit comme voulu sur l'objet).

    Dans les dernières versions, les tests sont linkés avec l'appli. Ainsi ce qui se passe est que l'appli est lancée, les tests exécutés, puis l'appli se termine. Je pense qu'ils ont fait cela pour ouvrir les possibilités de test (mécanismes de target-action, bindings...) et pouvoir vérifier les aspects dynamiques. Malgré tout, cela complique beaucoup l'utilisation d'OCUnit. D'ailleurs, l'article d'Apple que tu cites n'est pas à  jour, j'avais trouvé quelques infos chez Chris Hanson.

    Je suis certain qu'il existe une solution, les gens d'Apple doivent bien avoir besoin des tests pour leurs propres applis et l'OS !

  • AliGatorAliGator Membre, Modérateur
    13:29 modifié #3
    Merci pour l'info.

    Oui j'avais cru voir en effet que c'était OCUnit qui était intégré maintenant à  Xcode. J'ai fait un test vite fait tout à  l'heure, ça a l'air de marcher... sur le simulateur.

    Mais j'ai rien trouvé côté tests unitaires... qui fonctionne sur l'iPhone. D'ailleurs commen mentionné sur le site officiel de sente, auteurs de OCUnit (si j'ai tout suivi), c'est pas encore prêt pour le faire marcher sur device... ça marche donc que sur simulateur en attendant. Enfin bon c'est déjà  ça.


    Sinon je me posais aussi la question des tests interactifs... Ca je pense pas que les OCUnits et le target "Test Unit Bundle" nous permette de faire ça (nous demander d'appuyer sur un bouton, attendre qu'on le fasse et tester le résultat, par exemple...), mais sait-on jamais ? Ou alors une autre façon de faire (des frameworks alternatifs, des applis dédiées...) ?
Connectez-vous ou Inscrivez-vous pour répondre.