Ich habe ein Problem mit PYCharm 3.0.1. Ich kann keine grundlegenden Unittests ausführen.

Hier ist mein 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()

Hier ist all das Zeug, das Pycharm mir gibt

Testreporter kann nicht an Testframework angehängt werden oder Testframework kann unerwartet beendet werden

Ist auch sagt

AttributeError: class TestLoader has no attribute '__init__'

Und das Ereignisprotokoll:

2:14:28 PM Empty test suite

Das Problem ist, wenn ich die Python-Datei manuell ausführe (mit Pycharm als Skript)

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

FAILED (failures=1)

Was normal ist, ich lasse den Test absichtlich scheitern. Ich habe keine Ahnung, was hier vor sich geht. Weitere Informationen: Einstellungen-> Python INtegrated Tools-> Paketanforderungsdatei: / src / test Standardtestläufer: Unittests pyunit 1.4.1 ist installiert

Vielen Dank für jede Art von Hilfe.

BEARBEITEN: Dasselbe passiert mit der grundlegenden Verwendung von 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()
21
drgn 27 Nov. 2013 im 23:28

6 Antworten

Beste Antwort

Dies liegt wahrscheinlich daran, dass Sie Ihr Testframework im Einstellungsdialog nicht richtig eingestellt haben.

enter image description here

16
Games Brainiac 28 Nov. 2013 im 08:48

Auf jeden Fall ein Pycharm-Ding, das sich von oben wiederholt.

  • Ausführen -> Konfigurationen bearbeiten.
  • Wählen Sie die Instanzen des Tests aus und drücken Sie die rote Minustaste.
4
shlomoa 15 Juni 2015 im 10:16

Ich habe genau das gleiche Problem. Es stellte sich heraus, dass die Tatsache, dass ein einzelner Test erkannt wurde, mit dem Dateinamen zusammenhängt. In meinem Fall wurde test_calculate_kpi.py, das PyCharm beim Umbenennen in test_calculate_kpis.py nicht als Test erkannte, sofort erkannt.

2
Ru Chern Chong 28 Feb. 2018 im 19:02

Selbst wenn ich das gleiche Problem hatte, hatte ich das Gefühl, dass der Arbeitsbereich nicht richtig aktualisiert wurde. Sogar ich habe Datei-> Synchronisieren (Strg + Aly + y). Aber das war nicht die Lösung. Ich habe gerade meinen Test-Python-Dateinamen umbenannt und erneut versucht, den Code auszuführen. Es hat einwandfrei funktioniert.

0
Kishor kumar R 31 Juli 2018 im 09:08

Obwohl dies beim Originalposter nicht der Fall war, möchte ich darauf hinweisen, dass eine andere Ursache dafür Testfunktionen sind, die nicht mit dem Wort "Test" beginnen.

class TestSet(unittest.TestCase):

    def test_will_work(self):
        pass

    def will_not_work(self):
        pass
44
binarysubstrate 8 Jän. 2015 im 20:05

Ich hatte das gleiche Problem. Die Datei wurde test_exercise_detectors.py genannt (beachten Sie den Plural "Detektoren") und befand sich in einem gepackten Namen test_exercise_detectors. Das Ändern des Dateinamens in test_exercise_detector.py (singulärer "Detektor") hat das Problem behoben.

0
Steve Wehba 11 Nov. 2019 im 16:45