pytest AttributeError: у объекта 'Function' нет атрибута 'get_marker'

Используя подготовленные инструкции, нет «SQL-запроса»:

  • У вас есть оператор, содержащий заполнители, который отправляется на сервер БД и подготовлен там, что означает, что оператор SQL «анализируется» ", разобранный, некоторая структура данных, представляющая его, подготовлена ​​в памяти
  • И тогда у вас есть связанные переменные, которые отправляются на сервер, и выполняется подготовленный оператор - работа над этими данными

Но не существует пересоздания реального реального SQL-запроса - ни на стороне Java, ни на стороне базы данных.

Итак, нет способа получить SQL-код подготовленного оператора, поскольку такой SQL нет.

Для цели отладки решения должны быть либо:

  • . Вывести код инструкции, с помощью заполнителей и список данных
  • Или «построить» некоторый SQL-запрос «вручную».
4
задан Anthony Sottile 22 January 2019 в 07:44
поделиться

1 ответ

Pytest изменил свой API в версии 4.

Быстрое решение: используйте get_closest_marker() вместо get_marker():

def pytest_collection_modifyitems(config, items):
    items.sort(key=lambda x: 2 if x.get_closest_marker('slow') else 1)

См. https://github.com/pytest-dev/pytest/pull/4564 [ 1110]

Удалить Node.get_marker(name) возвращаемое значение было невозможно использовать более чем для проверки существования.

Используйте Node.get_closest_marker(name) в качестве замены.

Удалить атрибуты testfunction.markername - используйте Node.iter_markers(name=None) для их повторения.

0
ответ дан Messa 22 January 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: