2010-01-16 9 views
2

J'ai commencé à utiliser Qooxdoo le mois dernier, j'ai donc très peu d'expérience dans son utilisation. J'ai besoin de créer une application de test comme le testrunner sur le site Web de Qooxdoo, mais j'ai besoin de faire des tests dans mon environnement d'application. J'ai suivi ces étapes:test de l'application source dans qooxdoo

  • a créé l'application
  • Compilé la version source avec generate.py source
  • Créer le test avec generate.py test

Dans ce test, si je tente d'accéder à ma demande, il me donne une erreur car son indéfini.

lire ensuite la documentation sur le site que j'ai trouvé que ce type de tests doit être effectuée à l'aide generate.py test-source. Mais en exécutant l'index-source.html dans le dossier de test, le résultat est le même: l'application ne fonctionne pas.

Quelle est la bonne façon de faire? Qu'ai-je fait de mal?

+0

Pouvez-vous être plus précis sur les erreurs que vous obtenez? Dans le premier cas ("generate.py test"), qu'est-ce qui n'était pas défini? L'application runner a-t-elle démarré? Avez-vous vu des tests dans le menu de l'arborescence? Ou montré l'erreur seulement quand vous avez exécuté les tests? Rappelez-vous que testrunner de qooxdoo suit l'approche JUnit, en ce sens que vous avez des classes de test qui fonctionnent sur des classes d'applications dépendantes. Si vous essayez d'instancier votre Application.js principal dans un test, je pense que cela ne fonctionnera pas. – ThomasH

+0

Par exemple dans la méthode main() de l'application, j'ai défini une propriété "foo" sur l'objet application. Dans le test, j'essaie d'obtenir cette propriété de cette façon "qx.core.Init.getApplication(). Foo" mais ce n'est pas défini, donc la seule explication est que l'application n'est pas initialisée. – mck89

Répondre

2

En utilisant generate.py test ou generate.py test-source créez un testrunner pour votre application, comme celui que vous avez vu sur le site Web de qooxdoo. Mais votre propre testtrunner contient tous les tests que vous avez écrits dans l'espace de noms de test de votre application.

Le TestRunner est principalement conçu pour les tests unitaires, ce qui signifie tester, des petites pièces d'une application. Par exemple, si vous avez un objet de manipulation de données, vous pouvez facilement le tester en créant un de ces objets comme vous le faites dans le code de votre application. La même chose est vraie pour les petits objets comme votre application. Vous pouvez créer une instance de votre application dans un test unitaire et accéder aux méthodes sur cette application ainsi:

var app = new customNamespace.Application(); 
this.assertTrue(app.yourMethodName()); 

Mais si vous avez vraiment besoin de tester l'application tout à la fois, Sélénium [1] pourrait être un meilleur choix. qooxdoo offre aux utilisateurs une extension d'utilisateur Selenium pour faciliter la gestion des applications qooxdoo.

[1] http://seleniumhq.org/

[2] http://qooxdoo.org/contrib/project/simulator

+0

Merci pour la réponse, donc il n'y a aucun moyen au moment de tester l'application entière en utilisant uniquement qooxdoo TestRunner – mck89

+0

Désolé je lis mieux votre réponse et vérifié la documentation et maintenant je l'ai compris ce que dois-je faire. Merci encore. – mck89