始终与python unittest2一起使用,并且刚开始迁移到pytest.自然地,我试图画出相似之处,但我无法弄清的一件事是:
问题为什么Pytest不使用在“测试”类中定义的测试方法.
什么对我有用
# login_test.py
import pytest
from frontend.app.login.login import LoginPage
@pytest.fixture
def setup():
login = LoginPage()
return login
def test_successful_login(setup):
login = setup
login.login("incorrect username","incorrect password")
assert login.error_msg_label().text == 'Invalid Credentials'
什么对我不起作用(不起作用=未发现测试方法)
# login_test.py
import pytest
from frontend.app.login.login import LoginPage
class LoginTestSuite(object):
@pytest.fixture
def setup():
login = LoginPage()
return login
def test_invalid_login(self, setup):
login = setup
login.login("incorrect username","incorrect password")
assert login.error_msg_label().text == 'Invalid Credentials'
在pytest.ini中,我有
# pytest.ini
[pytest]
python_files = *_test.py
python_classes = *TestSuite
# Also tried
# python_classes = *
# That does not work either
不确定要调试此功能还需要其他什么信息?
任何建议表示赞赏.
解决方法:
我刚遇到类似的问题.我发现,如果您以“ Test”开头的类命名,则pytest会选择它们,否则将不会发现您的测试类.
这有效:
class TestClass:
def test_one(self):
assert 0
这不是:
class ClassTest:
def test_one(self):
assert 0
原文地址:https://codeday.me/bug/20191028/1948951.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。