Задать вопрос
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 и подразумевает, что тест прошел успешно?
  • Вопрос задан
  • 3254 просмотра
Подписаться 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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