The main usage is to use the
qtbot fixture, responsible for handling
creation as needed, and registering widgets for testing:
def test_hello(qtbot): widget = HelloWidget() qtbot.addWidget(widget) # Click the greet button and make sure the appropriate label is updated. widget.button_greet.click() assert widget.greet_label.text() == "Hello!"
This allows you to test and make sure your view layer is behaving the way you expect after each code change.
qtbot fixture to simulate user interaction with
Automatic capture of
Exceptions in virtual methods and slots are automatically captured and fail tests accordingly.
pytest-qt requires Python 3.7+.
To force a particular API, set the configuration variable
qt_api in your
pytest.ini file to
Alternatively, you can set the
variable to the same values described above (the environment variable wins over the configuration
if both are set).