如何为 pytest 创建 HTML 报告?
How to create a HTML report for pytest?
我已经在 eclipse 中使用 pytest 框架创建了一个项目
class TestClass(object):
def test_one(self):
x = "this"
assert 'h' in x
def test_two(self):
x = "hello"
assert hasattr(x, 'check')
现在,我想为我的 project.I 创建一个 html 报告:
- 安装了 html 插件
- 在conftest.py模块中写入以下代码
import pytest
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
pytest_html = item.config.pluginmanager.getplugin('html')
outcome = yield
report = outcome.get_result()
当我 运行 我的测试时,我没有得到任何 report.Below 我的结果符合预期,但没有生成报告
> ============================= test session starts ============================= platform win32 -- Python 3.6.5, pytest-3.6.0, py-1.5.3, pluggy-0.6.0 rootdir: D:\Eclipse1\TFCProject,
> inifile: plugins: ordering-0.5, metadata-1.7.0, html-1.19.0 collected
> 2 items
>
> TFCPackage\pycheck.py .F
> [100%]
>
> ================================== FAILURES ===================================
> _____________________________ TestClass.test_two self = <TFCPackage.pycheck.TestClass object at 0x03778AF0>
def test_two(self):
x = "hello"
> assert hasattr(x, 'check')
E AssertionError: assert False
E + where False = hasattr('hello', 'check')
TFCPackage\pycheck.py:13: AssertionError
===================== 1 failed, 1 passed in 0.41 seconds ======================
请指导我,因为我是 pytest 的新手
如果您想在 Eclipse 中执行此操作 IDE,您需要更改 Eclipse 配置。
Open the Configuration
Window -> Preferences -> PyDev -> PyUnit
Add this parameter in the section "Parameters for test runner"
--html= reportname.html
将上面的 reportname 替换为您选择的报告名称。
请注意,此设置是全局的,每次在 eclipse 中 运行 pytest 时都会生成报告。
我已经在 eclipse 中使用 pytest 框架创建了一个项目
class TestClass(object):
def test_one(self):
x = "this"
assert 'h' in x
def test_two(self):
x = "hello"
assert hasattr(x, 'check')
现在,我想为我的 project.I 创建一个 html 报告:
- 安装了 html 插件
- 在conftest.py模块中写入以下代码
import pytest @pytest.mark.hookwrapper def pytest_runtest_makereport(item, call): pytest_html = item.config.pluginmanager.getplugin('html') outcome = yield report = outcome.get_result()
当我 运行 我的测试时,我没有得到任何 report.Below 我的结果符合预期,但没有生成报告
> ============================= test session starts ============================= platform win32 -- Python 3.6.5, pytest-3.6.0, py-1.5.3, pluggy-0.6.0 rootdir: D:\Eclipse1\TFCProject,
> inifile: plugins: ordering-0.5, metadata-1.7.0, html-1.19.0 collected
> 2 items
>
> TFCPackage\pycheck.py .F
> [100%]
>
> ================================== FAILURES ===================================
> _____________________________ TestClass.test_two self = <TFCPackage.pycheck.TestClass object at 0x03778AF0>
def test_two(self):
x = "hello"
> assert hasattr(x, 'check')
E AssertionError: assert False
E + where False = hasattr('hello', 'check')
TFCPackage\pycheck.py:13: AssertionError
===================== 1 failed, 1 passed in 0.41 seconds ======================
请指导我,因为我是 pytest 的新手
如果您想在 Eclipse 中执行此操作 IDE,您需要更改 Eclipse 配置。
Open the Configuration
Window -> Preferences -> PyDev -> PyUnit
Add this parameter in the section "Parameters for test runner"
--html= reportname.html
将上面的 reportname 替换为您选择的报告名称。
请注意,此设置是全局的,每次在 eclipse 中 运行 pytest 时都会生成报告。