Pycharm et unittest ne fonctionne pas
J'ai un problème avec PYCharm 3.0.1 je ne peux pas courir de base unittests.
Voici mon code :
import unittest from MysqlServer import MysqlServer
class MysqlServerTest(unittest.TestCase):
def setUp(self):
self.mysqlServer = MysqlServer("ip", "username", "password", "db", port)
def test_canConnect(self):
self.mysqlServer.connect()
self.fail()
if __name__ == '__main__':
unittest.main()
Voici Tous les trucs pycharm me donner
Pas en mesure de joindre test reporter à l'essai de cadre ou d'un framework de test se fermer de façon inattendue
Est dit aussi
AttributeError: class TestLoader has no attribute '__init__'
Et le journal des événements :
2:14:28 PM Empty test suite
Le problème est que quand je lance manuellement le fichier python (avec pycharm, comme un script)
----------------------------------------------------------------------
Ran 1 tests in 0.019s
FAILED (failures=1)
Ce qui est normal, je fais le test échoue sur le but. Je suis un peu paumé sur ce qui se passe
ici plus d'informations :
Configuration->Python Intégré des Outils->les exigences de la trousse de fichier: /src/test
Par défaut test runner: Unittests
pyunit 1.4.1 Est installé
Merci pour toute sorte d'aide.
EDIT: Même chose se produire avec l'utilisation de base de unitests.py
import unittest
class IntegerArithmenticTestCase(unittest.TestCase):
def testAdd(self): ## test method names begin 'test*'
self.assertEquals((1 + 2), 3)
self.assertEquals(0 + 1, 1)
def testMultiply(self):
self.assertEquals((0 * 10), 0)
self.assertEquals((5 * 8), 40)
if __name__ == '__main__':
unittest.main()
setUpClass
a déclenché une exception.Nouvelle réponse ajouté ci-dessous qui peut aider dans votre cas. Pouvez vous s'il vous plaît vérifier?
OriginalL'auteur drgn | 2013-11-27
Vous devez vous connecter pour publier un commentaire.
C'est probablement parce que vous n'avez pas défini votre framework de test correctement dans la boîte de dialogue settings.
Après une JVM changement,(Soleil) Un couple de redémarrer, et l'utilisation de py.test au lieu de unittests (toujours pas de travail). Je peux utiliser mon test à l'intérieur de pycharm avec la py.framework de test. Regarde aussi comme j'ai eu quelques obsolète paquet j'ai eu à mettre à jour via le setuptools.
Je vois ce que je pense est le même problème sur pycharm 3.x. Sur les versions précédentes de pycharm mon
if __name__ == '__main__'
bloc a été exécuté. Maintenant, il ne l'est pas. Cela crée certains tests lors de l'exécution sous le débogueur.OriginalL'auteur Games Brainiac
Bien que ce n'était pas le cas avec le posteur d'origine, je tiens à noter qu'une autre chose qui va provoquer ce sont des fonctions de test qui ne commencent pas par le mot "test".
aussi regarder l'indentation, j'ai été absent en raison du formatage de couper et de coller l'erreur 🙂
OriginalL'auteur binarysubstrate
Certainement un pycharm truc, répéter à partir de ci-dessus,
OriginalL'auteur shlomoa
J'ai exactement le même problème. Il s'est avéré que le fait de reconnaître un test a été liée à la nom de fichier. Dans mon cas,
test_calculate_kpi.py
, qui PyCharm de ne pas le reconnaître comme un test quand renommétest_calculate_kpis.py
, a été immédiatement reconnu.OriginalL'auteur MPacho
4 étapes pour générer des rapports html avec PyCharm et plus par défaut les coureurs de l'épreuve (py.test, nosetest, unittest etc.):
def test_run1()
la généralisation de code d'exemple de rapport de test de l'ensemble de la documentation est
Ce code est habituellement situé dans une classe de test de fichier qui contient toutes les unittests et le "principal"-catcher code. Ce code continuellement donné l'avertissement
Empty test suite
pour moi. Par conséquent, supprimer tous les si __nom__ ... code. Le fichier ne contient leTestGoodnessOfFitTests
classe. Maintenant, de pluscréer un nouveau main.py dans le même répertoire de la classe de test de fichier et utiliser le code suivant:
Supprimer votre ancien exécuter les configurations, cliquez-droit sur votre main.py et appuyez sur
Run 'main'
. Vérifier l'exactitude des paramètres sousPreferences -> Python Integrated Tools -> Default test runner
(dans mon cas py.test et le nez travaillé)Sortie:
OriginalL'auteur Fábio Ferreira
Même j'ai eu le même problème, j'ai senti l'espace de travail n'a pas été actualisé correctement. Même moi, je n'Fichier->Synchroniser(Ctrl+Aly+y). Mais ce n'était pas la solution. J'ai juste renommé mon test python nom de fichier et de nouveau j'ai essayé d'exécuter le code, il a commencé a bien fonctionné.
OriginalL'auteur Kishor kumar R