pytest-qt v3.1.0 явно тестирует string_types для DisplayRole данных.Что не так для старых версий.Он сломал наши тесты, потому что мы возвращаем объект (int, str и т. Д.) Для DispalyRole данных, которые мы считаем разумными (не так ли?).
Может кто-нибудь поделиться, если вы знаете, почему это так?дело?
Технологии: Python 2.7.x x64 и Pyside v1.2.4 ОС: Windows 7 машина
def _test_data(self):
"""Test model's implementation of data()"""
if not self._has_children():
return
# A valid index should have a valid QVariant data
assert self._model.index(0, 0).isValid()
string_types = [str]
if sys.version_info.major == 2:
string_types.append(unicode) # noqa
if qt_api.QString is not None:
string_types.append(qt_api.QString)
string_types = tuple(string_types)
types = [
(qt_api.QtCore.Qt.DisplayRole, string_types),
(qt_api.QtCore.Qt.ToolTipRole, string_types),
(qt_api.QtCore.Qt.StatusTipRole, string_types),
(qt_api.QtCore.Qt.WhatsThisRole, string_types),
(qt_api.QtCore.Qt.SizeHintRole, qt_api.QtCore.QSize),
(qt_api.QtCore.Qt.FontRole, qt_api.QtGui.QFont),
(
qt_api.QtCore.Qt.BackgroundColorRole,
(qt_api.QtGui.QColor, qt_api.QtGui.QBrush),
),
(
qt_api.QtCore.Qt.TextColorRole,
(qt_api.QtGui.QColor, qt_api.QtGui.QBrush),
),
(
qt_api.QtCore.Qt.DecorationRole,
(
qt_api.QtGui.QPixmap,
qt_api.QtGui.QImage,
qt_api.QtGui.QIcon,
qt_api.QtGui.QColor,
qt_api.QtGui.QBrush,
),
),
]
# General purpose roles with a fixed expected type
for role, typ in types:
data = self._model.data(self._model.index(0, 0), role)
if data is not None:
data = qt_api.extract_from_variant(data)
assert data == None or isinstance(data, typ), role # noqa
AssertionError: PySide.QtCore.Qt.ItemDataRole.DisplayRole
assert (1 == None or False)
where False = isinstance(1, (<type 'str'>, <type 'unicode'>))
.tox\py27\lib\site-packages\pytestqt\modeltest.py:499: AssertionError