[PYTHON] Verwenden Sie pytest-qt, wenn Sie PySdie und PyQt testen

Einführung

[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.

Einführung von pytest-qt

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

Schreiben Sie mit pytest-qt

Wenn ich den ersten Testcode mit pytest-qt umschreibe, sieht es so aus.

Zusätzliches Testen des Widgets

test_widget.py


def test_addWidget(qtbot):
    from MyCustomPySideLib,QCustomWidgets import QMyWidget
    myWidget = QMyWidget()
    qtbot.addWidget(myWidget)

Recommended Posts

Verwenden Sie pytest-qt, wenn Sie PySdie und PyQt testen
[Python] Verwenden Sie und und oder beim Erstellen von Variablen
Verwenden Sie SQL Alchemy und Multiprocessing