J'ai créé le module test.py, rempli de et placé dans le dossier avec mon application.
Lorsque j'exécute des tests par p> après la création de la base de données de test, je reçois une réponse "RAN 0 tests dans 0.000S" P> Qu'est-ce que je fais mal? p> ps
Voici ma hiérarchie de projet: p> i renommé test.py to test.py. Eclipse a obtenu que ce module est avec des tests, mais la réponse est toujours "RAN 0 tests en 0.000S" p> p>
7 Réponses :
Vous devez le nommer tests.py code>. p>
J'ai renommé Test.py à tests.py. Eclipse a obtenu que ce module est avec des tests, mais la réponse est toujours "RAN 0 tests dans 0.000S"
Il n'y a pas tout à fait raison si vous obtenez le même résultat après avoir renommé le fichier sur Déjà également sur Django Shell ( tests.py code>. Comment exécutez-vous les tests? Est-ce que vous le faites de la ligne de commande ou avez-vous configuré une cible d'exécution personnalisée à l'aide de Eclipse? S'il vous plaît essayez-le à partir de la ligne de commande si vous ne l'avez pas déjà fait.
Python Manage.py shell code>) et importe votre module de tests. P>
from MyProj.forum.tests import SimpleTest
J'ai essayé "python gérer.py shell" et "de myProj.forum.test importation test_forum" (j'ai renommé la classe de test), et cela n'a pas fonctionné. Mais "Importer myProj.forum.Test" et "à partir de myProj.forum.Tests importatent *" passés sans erreurs.
On dirait que quelque chose est mal. Essayez ceci: de myProj.forum Tests d'importation code> suivi de
dir (tests) code>. Voyez si votre nom de classe est présent dans la sortie de la commande
dir code>.
Comme on pouvait s'attendre: >>> dir (tests) [' Construits b>', ' DOC B>', fichier b> ',' Nom B> ',' Package B> ',' Chemin B> '] code> donc, il n'y a pas de classe de test dans tests.py. Qu'est-ce que j'ai manqué?
Ceci est intéressant: il n'y a pas de test_forum code> dans cette liste. Il me semble que vous avez un répertoire nommé
tests code> là-bas. Cela expliquerait pourquoi
à partir de myProj.forum.Test importation test_forum code> échoue mais
importer myProj.forum.Test code> réussit. Pouvez-vous vérifier si c'est le cas?
Oui, tu avais raison. J'ai essayé de tester mon application avec le nez et l'urllib / urllib2 en premier, et à cette fin, j'ai créé des tests de package. J'ai supprimé ce paquet et l'outil de test Django a obtenu ma classe de test dans TESTS.PY. Merci, manoj govindan. Tu m'as sauvé !
Essayez de renommer votre méthode Je pense que le coureur de test exécutera toutes les méthodes nommées Test code> à quelque chose comme
test_content code>. p>
test _ * code> (voir les documents Python pour Code de test d'organisation . Django's
TESTCASE CODE> est une sous-classe de
Unitest.ESCASE code>, de même que les mêmes règles doivent être appliquées . p>
J'ai renommé ma classe de test à Test_forum. Mais ça n'a pas aidé
Ne renommez pas la classe, renommez la méthode. C'est peut-être sensible à la casse alors essayez Test_forum.
Vous devrez utiliser le préfixe Test _ code> pour chaque méthode de test. P>
Moi aussi, sur Django 1.4. THX!
Résumé:
0) Essayez d'exécuter uniquement pour votre application: P>
def test_something(self): self.assertEquals(1, 2)
En plus de 4, n'oubliez pas de supprimer le dossier pycache __ code>
Mon problème était 2. Merci.
J'avais essayé toutes ces choses, mais j'ai négligé d'ajouter le fichier __init__.py dans le répertoire des tests que j'ai créé pour contenir tous mes tests et Django ne pouvait pas le trouver. p>
Après un certain temps consacré à la recherche, je n'ai trouvé personne suggérant cela, je vais donc la partager comme une réponse tardive.
Dans mon cas, j'ai mon donc j'ai trouvé que La commande de test a la possibilité de fournir un projet qui teste" à exécuter. Dans mon cas, je devais faire cela P> manage.py code> dans le répertoire racine, par exemple
python project_name/manage.py test ./project_name/