A note about pyqt4v2
ΒΆ
Starting with pytest-qt
version 2.0, PyQt
or PySide
are lazily
loaded when first needed instead of at pytest startup. This usually means
pytest-qt
will import PyQt
or PySide
when the tests actually start
running, well after conftest.py
files and other plugins have been imported.
This can lead to some unexpected behaviour if pyqt4v2
is set.
If the conftest.py
files, either directly or indirectly, set the API version
to 2 and import PyQt4
, one of the following cases can happen:
if all the available types are set to version 2, then using
pyqt4
orpyqt4v2
is equivalentif only some of the types set to version 2, using
pyqt4v2
will makepytest
to fail with an error similar to:INTERNALERROR> sip.setapi("QDate", 2) INTERNALERROR> ValueError: API 'QDate' has already been set to version 1
If this is the case, use
pyqt4
.
If the API is set in the test functions or in the code imported by them, then
the new behaviour is indistinguishable from the old one and pyqt4v2
must be
used to avoid errors if version 2 is used.