Making Nose scheitert an langsamen Tests

8

Ich möchte, dass meine Tests fehlschlagen, wenn sie länger als eine bestimmte Zeit dauern (z. B. 500ms), weil es saugt, wenn eine Last von etwas langsamen Tests auftaucht, und plötzlich haben Sie diese große Verzögerung jedes Mal, wenn Sie die Testsuite ausführen . Gibt es irgendwelche Plugins oder irgendetwas für Nose, die das schon machen?

    
Thomas Parslow 01.07.2011, 13:20
quelle

2 Antworten

7

Ich empfehle respektvoll, dass die Änderung der Bedeutung von "gebrochen" eine schlechte Idee ist.

Die Bedeutung eines fehlgeschlagenen / "roten" Tests sollte niemals etwas anderes als "diese Funktionalität ist kaputt" sein. Etwas anderes zu tun birgt die Gefahr, den Wert der Tests zu verwässern.

Wenn Sie dies implementieren und nächste Woche eine Handvoll Tests fehlschlagen, wäre das ein Hinweis darauf, dass

  • Ihre Tests laufen langsam?
  • Der Code ist kaputt?
  • Beide der oben genannten gleichzeitig?

Ich schlage vor, es wäre besser, MI aus Ihrem Build-Prozess zu sammeln und zu überwachen, um langsame Tests zu erkennen, aber Rot bedeutet "kaputte Funktionalität" und nicht "kaputte Funktionalität und / oder langsamer Test".

    
razlebe 01.07.2011, 13:29
quelle
11

Für Fälle, in denen das Timing wichtig ist (z. B. Echtzeitanforderungen):

Ссылка

  

nose.tools.timed(limit)

     

Der Test muss innerhalb des angegebenen Zeitlimits abgeschlossen sein.

     

Beispiel Verwendung:

%Vor%
    
ted 24.07.2012 16:48
quelle

Tags und Links