Ich benutze die Parameter-Annotationen von pytest, um Parameter in eine Klasse zu übergeben. Ich bin in der Lage, die Parameter in den Testmethoden zu verwenden, jedoch kann ich nicht herausfinden, wie die Parameter in der Methode setup_class verwendet werden.
%Vor%Ich habe versucht, 'n' als Parameter wie die Testmethoden hinzuzufügen:
%Vor%Was zu einem Fehler führt:
%Vor%Gibt es eine andere Möglichkeit, den Parameter in der Methode setup_class zu verwenden?
Sie können nicht.
Zuerst wird setup_class
nur einmal pro Klasse aufgerufen, auch wenn parametrize
fixture benutzt wird - Klasse wird nur einmal eingerichtet.
Zweitens ist es nicht dazu gedacht, andere Parameter als cls
zu verwenden. Es akzeptiert keine Parameter von paramterize
und anderen Fixtures.
Als Lösung können Sie ein parametrisiertes Fixture mit dem Geltungsbereich "class" verwenden:
%Vor%Weitere Informationen finden Sie unter Ссылка
Sie sollten Attribute an Ihre Testklasse übergeben, indem Sie sie cls
zuweisen. Alle Attribute und Funktionen, die Sie später zuweisen, werden zu Klassenattributen / Methoden.
Der parametrisierte Dekorator sollte für Klassenmethoden verwendet werden (Sie möchten Methoden testen, oder?)
Also:
%Vor% Der Test wird fehlschlagen in test_internal. It illustrates that
params were set to
self.n and now
self.n equals to
params '