我使用pytest框架
在eclipse中创建了一个项目class TestClass(object):
def test_one(self):
x = "this"
assert 'h' in x
def test_two(self):
x = "hello"
assert hasattr(x, 'check')
现在,我想为我的项目创建一个html报告。我已经完成了以下工作:
import pytest @pytest.mark.hookwrapper def pytest_runtest_makereport(item, call): pytest_html = item.config.pluginmanager.getplugin('html') outcome = yield report = outcome.get_result()
当我进行测试时,我没有得到任何报告。我的结果是预期的,但没有生成报告
> ============================= 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的新手
答案 0 :(得分:1)
如果要在Eclipse IDE中执行此操作,则需要更改Eclipse配置。
打开配置
窗口 - &gt;偏好 - &gt; PyDev - &gt;的PyUnit
- 醇>
在测试运动员&#34;
的参数部分中添加此参数- html = reportname.html
将上面的reportname替换为您选择的报告名称。
请注意,此设置是全局的,每次在eclipse中运行pytest时都会生成报告。