[Dieser Artikel wird gerade geschrieben und wird aktualisiert! ]]
Zuvor habe ich in "Testgetriebener Entwicklungsstart mit PySide & Pytest" die Methode von PySide + pytest zusammengefasst, aber ich habe Folgendes getan War dort.
Registrieren Sie zunächst in conftest.py Folgendes als Fixture:
conftest.py
@pytest.fixture
def base_window():
app = QApplication()
mainWindow = QMainWindow()
mainWindow.show()
return mainWindow
Verwenden Sie es im Test, um das Widget zu rauchen
test_widget.py
def test_addWidget(base_widget):
from MyCustomPySideLib,QCustomWidgets import QMyWidget
tagWidget = QMyWidget()
base_widget.setCentralWidget(tagWidget)
Ich habe das getan, aber ich habe herausgefunden, dass einige Leute eine andere Methode anbieten.
Sie können dies mit pytest-qt simulieren. pytest-qt wird als [pytest-Plugins] behandelt (https://docs.pytest.org/en/latest/plugins.html).
Die Installation kann mit pip erfolgen.
pip install pytest-qt
Wenn ich den ersten Testcode mit pytest-qt umschreibe, sieht es so aus.
test_widget.py
def test_addWidget(qtbot):
from MyCustomPySideLib,QCustomWidgets import QMyWidget
myWidget = QMyWidget()
qtbot.addWidget(myWidget)