Ändern Sie die Namen von Tests, die von Nasentestgeneratoren erstellt wurden

8

Nase hat einen Fehler - Testnamen, die von Generatoren erstellt wurden, werden nicht zwischengespeichert Der Fehler scheint also im letzten Test aufgetreten zu sein, nicht im eigentlichen Test, in dem er fehlgeschlagen ist. Ich habe es nach der Lösung in der Fehlerbericht-Diskussion verstanden, aber es funktioniert nur für Namen, die auf stdout angezeigt werden, nicht im XML-Bericht (--with-xunit)

%Vor%

Die Ausgabe von nose ist wie erwartet, etwa wie

%Vor%

Aber die Testnamen in XML sind nur 'testGenerator'.

%Vor%

Wie kann ich dies ändern, so dass die personalisierten Testnamen sowohl auf stdout als auch auf XML ausgegeben werden?

Ich benutze nosetests Version 1.1.2 und Python 2.6.6

    
M.K. 25.06.2012, 12:48
quelle

4 Antworten

4

Sie können die Art ändern, in der Nose Tests benennt, indem Sie ein Plugin hinzufügen , das den Befehl describeTest %Vor%

Sie müssen dann dieses Plugin installieren und es in der Nose aktivieren Aufruf.

    
dbn 15.12.2012 11:54
quelle
1

Sie können die folgende Zeile hinzufügen.

testGenerator.__name__ = "nice test name %s" % i

Beispiel:

%Vor%

Dies führt zu den gewünschten Namen.

%Vor%     
Ananth Krishnan 16.05.2013 08:24
quelle
1

Wie Ananth erwähnt, können Sie dies verwenden.

%Vor%

Sie können dies auch stattdessen verwenden

%Vor%

Wenn Ihre Testklasse Argumente hat, würde ich ihnen empfehlen, sie zu curryen, sowie currying with_setup. Die Verwendung von Lambda spart beim Import, und ich denke, es ist ein bisschen sauberer. Zum Beispiel

%Vor%     
Dane White 14.02.2014 22:42
quelle
0

Wenn Sie Nase und Eclipes PyUnit verwenden:

%Vor%

was dazu führt, dass der Name auch in PyUnit gut angezeigt wird.

    
frmdstryr 15.05.2014 17:18
quelle