[Cet article est en cours de rédaction et sera mis à jour! ]
Auparavant, dans "Démarrage du développement piloté par les tests avec PySide & Pytest", j'ai résumé la méthode de PySide + pytest, mais j'ai fait ce qui suit Était là.
Tout d'abord, dans conftest.py, enregistrez ce qui suit en tant que fixture,
conftest.py
@pytest.fixture
def base_window():
app = QApplication()
mainWindow = QMainWindow()
mainWindow.show()
return mainWindow
Dans le test, utilisez-le pour tester le widget
test_widget.py
def test_addWidget(base_widget):
from MyCustomPySideLib,QCustomWidgets import QMyWidget
tagWidget = QMyWidget()
base_widget.setCentralWidget(tagWidget)
Je faisais cela, mais j'ai découvert que certaines personnes semblent proposer une autre méthode.
Vous pouvez simuler cela avec pytest-qt. pytest-qt est traité comme plugins pytest.
L'installation peut être effectuée avec pip.
pip install pytest-qt
Lorsque je réécris le premier code de test en utilisant pytest-qt, cela ressemble à ceci.
test_widget.py
def test_addWidget(qtbot):
from MyCustomPySideLib,QCustomWidgets import QMyWidget
myWidget = QMyWidget()
qtbot.addWidget(myWidget)