Je travaille sur un projet dont je ne sais vraiment pas comment tester un appareil. Il s'agit d'un cadre discret basé sur des balises pour le câblage des événements entre les modèles, les vues et les délégués dans un système GUI.Stratégie de test pour une application étendue avec peu de méthodes publiques?
Fondamentalement vous avez un grand fichier json qui est utilisé décrit tous les événements, les gestionnaires d'événements et les liaisons. L'utilisateur crée ses modèles, vues et délégués qui n'ont aucune connaissance du framework. Le fichier JSON est passé à une des méthodes init(), le cadre crée toutes les instances nécessaires et se charge de toutes les liaisons, les auditeurs, etc.
Les problèmes que j'ai sont deux fois:
1) Il n'y a fondamentalement qu'une seule méthode publique dans le framework, tout le reste est communiqué via le balisage dans le fichier JSON. Par conséquent, j'ai une très petite surface d'essai pour ce qui est une application grande et compliquée.
2) L'un des gros rôles de l'application est d'instancier les classes si elles n'ont pas été instanciées auparavant et mises en cache. Cela signifie que j'ai besoin de vraies classes dans mon code de test, de simples simulacres ne vont pas le couper.
En ce moment je considère un couple si des solutions. Le premier est de commencer à tester les méthodes privées. La seconde consiste à simplement remplacer les constructeurs.
Quelqu'un d'autre a des idées?
Par cela je suppose que vous voulez dire rendre publiques les méthodes qui gèrent une partie spécifique du JSON, puis écrire des spécifications pour qu'elles ne transmettent que la partie du JSON qui les intéresse? – ChrisInCambo
@ [ChrisInCambo] Je ne sais pas à ce niveau de détail Chris, je n'ai pas vu votre logiciel! ;-) D'après votre description, il semblerait que les données JSON servent de configuration générale pour tout le reste, alors modélisez les scénarios avec cela. –