web-dev-qa-db-fra.com

Pycharm et unittest ne fonctionnent pas

J'ai un problème avec PYCharm 3.0.1. Je ne parviens pas à exécuter les tests de base.

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 __== '__main__':
    unittest.main()

Voici tout ce que pycharm me donne

Impossible de joindre le rapporteur de test au cadre de test ou à la fermeture inopinée du cadre de test

Est aussi dit 

AttributeError: class TestLoader has no attribute '__init__'

Et le journal des événements:

2:14:28 PM Empty test suite

Le problème est quand j’exécute manuellement le fichier python (avec pycharm, en tant que script)

----------------------------------------------------------------------
Ran 1 tests in 0.019s

FAILED (failures=1)

Ce qui est normal, je fais exprès que le test échoue. Je ne suis pas du tout au courant de ce qui se passe Voici plus d'informations: Paramètre-> Outils intégrés à Python-> Fichier de configuration requise: /src/testDans le test: Unittests Pyunit 1.4. 1 est installé

Merci pour tout type d'aide.

EDIT: La même chose arrive 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 __== '__main__':
    unittest.main()
18
drgn

Ceci est probablement dû au fait que vous n'avez pas défini correctement votre framework de test dans la boîte de dialogue des paramètres.

enter image description here

16
Games Brainiac

Bien que cela n’ait pas été le cas avec l’affiche originale, je voudrais noter qu’un autre facteur qui entraînera ce problème est que les fonctions de test ne commencent pas par le mot "test".

class TestSet(unittest.TestCase):

    def test_will_work(self):
        pass

    def will_not_work(self):
        pass
41
binarysubstrate

Certainement une chose pycharm, répétant d'en haut, 

  • Exécuter -> Modifier les configurations.
  • sélectionnez les occurrences du test et appuyez sur le bouton moins rouge.
4
shlomoa

J'ai exactement le même problème. Il s'est avéré que le fait de reconnaître un test individuel était lié au nom du fichier . Dans mon cas, test_calculate_kpi.py, que PyCharm n'a pas reconnu comme test lorsqu'il a été renommé en test_calculate_kpis.py, a été immédiatement reconnu.

1
MPacho

Même si j'avais le même problème, je sentais que l'espace de travail n'était pas correctement rafraîchi. Même j'ai fait Fichier-> Synchroniser (Ctrl + Aly + y). Mais ce n'était pas la solution. Je viens de renommer mon nom de fichier de test python et encore une fois j'ai essayé d'exécuter le code, cela a bien fonctionné. 

0
Kishor kumar R