Задать вопрос
Relrin
@Relrin

Что означает xpassed при тестировании?

relrin@relrin:~/code/Helenae/tests$ python runtests.py
============================= test session starts ==============================
platform linux2 -- Python 2.7.3 -- py-1.4.20 -- pytest-2.5.2
plugins: cov, twisted
collected 19 items

test_gui.py .......XXXXXX......

===================== 13 passed, 6 xpassed in 2.16 seconds =====================


Т.е, если я в pytest создал, допустим, такой тест:

@pytest.mark.parametrize("login, password, fullname, email", [
    ("testuser", "123456", "Im test user", "test@mail.com"),
    (" test user", "123456", "Im test user", "test@mail.com"),
    (" test user ", "123456", "Im test user", "test@mail.com"),
    ("test user", "123456", "Im test user", "test@mail.com"),
    ("   test   user  ", "123456", "Im test user", "test@mail.com"),
    (" te st u ser", "123456", "Im test user", "test@mail.com"),
    pytest.mark.xfail(("", "123456", "Im test user", "test@mail.com")),
    pytest.mark.xfail((" ", "123456", "Im test user", "test@mail.com")),
    pytest.mark.xfail(("  ", "123456", "Im test user", "test@mail.com")),
    pytest.mark.xfail((" t e ", "123456", "Im test user", "test@mail.com")),
    pytest.mark.xfail((" t   e", "123456", "Im test user", "test@mail.com")),
    pytest.mark.xfail((" t  e", "123456", "Im test user", "test@mail.com")),
])
def test_registration_1(wxMainApp, login, password, fullname, email):
    Faker.clickHyperlink(wxMainApp, ID_NEW_MEMBER_TXT)
    Faker.clickDialogButtonOK(wxMainApp)
    wx.CallAfter(Faker.clickDialogButtonOK(wxMainApp.RegisterWindow))
    Faker.enterFakeRegisterData(wxMainApp.RegisterWindow, login, password, fullname, email)


То те, что помечены как xfail, обозначаются X и подразумевает, что тест прошел успешно?
  • Вопрос задан
  • 3270 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@freshik
Xpassed означает, что тест завершился успешно, хотя ожидалось, что он пофейлится.
Из документации:
You can use the xfail marker to indicate that you expect a test to fail:

@pytest.mark.xfail
def test_function():
    ...

This test will be run but no traceback will be reported when it fails. Instead terminal reporting will list it in the “expected to fail” (XFAIL) or “unexpectedly passing” (XPASS) sections.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽