Gibt es eine Möglichkeit, eine .py am Anfang neben __init__.py
ausführen?Führen Sie eine Datei vor py.test Sitzung startet, ohne __init__
Mein Problem ist, ich muss den aktuellen Datenbankstatus speichern, bevor das Parsen der Dateien Dinge ändert. Weil ich temporäre Testvariablen habe, die sich ändern, aber wenn ich den Zustand vor dem Analysieren speichern könnte, wäre das behoben, da ich es am Ende der Sitzung wiederherstellen kann.
Ich muss ein .py nicht nur vor der eigentlichen Testsitzung ausführen, sondern bevor die anderen Dateien analysiert werden.
Beispiel:
console> py.test tests/test_example.py
- brauchen sie hier
collecting 0 items
tests/test_example.py
==== test session starts ====
conftest.py
läuft hier
Sie sagen könnte zu laufen, dass ein __init__.py
eine Lösung sein würde, aber wenn Es gibt eine __init__.py
Im Testverzeichnis läuft pytest alles als ein Modul. (Anstelle von py._path.pyimport
von läuft, läuft es von __init__.py
) Dies bricht alle meine Tests und Importe während meiner gesamten Tests/Verzeichnis
Vielleicht kann ich meine eigene Kiste py._path.pyimport
, dies scheint nicht nur die sicherste/korrekt zu sein Weg. Oder ist es möglich, eine __init__.py
anzurufen und noch von py._path.pyimport
nach zu laufen?
Warum nicht ein Skript schreiben, das den Zustand speichert, läuft Ihr Test, und dann wieder den Zustand? –
Nun, andere Leute werden diese Tests ausführen müssen, ich denke, ich könnte die Skriptdatei in den gleichen Dateibereich stellen und sie einfach mit einigen Eingaben von der Konsole aus ausführen, um anzupassen, wie der Test ausgeführt werden soll. Immer noch Es wäre nützlich, wenn ich einige hybrid von '__init__' und 'py._path.pyimport' Funktion – Comradsky
noch in Python wäre gut – Comradsky