Каков правильный порядок фактического и ожидаемого в pytest?

Этот вопрос дает порядок assertEqual(expected, actual), хотя и для пакет юниттест.

Но Pycharm с pytest выводит «Ожидаемое:...» и «Фактическое...» на основе порядка actual==expected.

Это смущает. Каков правильный порядок для pytest? Исходный код и онлайн-документация не говорят.

(Отмечу также, что JUnit и TestNG расходятся во мнениях по этому поводу.)


person Joshua Fox    schedule 06.12.2018    source источник
comment
Заказа нет. В pytest это простое предложение ==. Обе стороны эквивалентны (или нет). Разработчики вашей IDE могли не прочитать. Перед лицом двусмысленности откажитесь от искушения угадать. от ПКП 20.   -  person Klaus D.    schedule 06.12.2018
comment
Я согласен. Это скорее проблема Pycharm, а не pytest. Кроме того, поддержки pytest в Pycharm все равно недостаточно.   -  person hoefling    schedule 06.12.2018


Ответы (2)


BDFL не нравится фактическая/ожидаемая терминология и документы были специально изменены для решения этой проблемы.

Если ваш инструментарий ожидает аргументы в определенном порядке, то я полагаю, что наиболее правильным будет последовательно делать то, что работает для вашего инструментария.

person Community    schedule 06.12.2018

Юнит

assertEquals(expected, actual)

Питест

assert actual == expected

Например:

def test_actual_expected():
    expected = 4
    actual = 2+1
    assert actual == expected

Ошибка с сообщением

введите здесь описание изображения

person Adam Hughes    schedule 06.03.2020