首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pytest和codecov:没有发现报道

pytest和codecov:没有发现报道
EN

Stack Overflow用户
提问于 2019-10-31 00:09:58
回答 2查看 1.9K关注 0票数 3

我已经创建了一个全新的Python存储库基于曲奇刀模板。一切看起来都很好,所以我现在试着用travis和codecov来设置测试和测试覆盖率。我是初出茅庐,但我正努力把事情做好。在互联网上查看之后,我得到了这样的设置:

.travis.yml中,我添加了以下内容:

代码语言:javascript
复制
install: 
  - pip install -U tox-travis
  - pip install coverage
  - pip install codecov

script:
    - python setup.py install
    - tox
    - coverage run tests/test_foo.py

在我的tox.ini文件中:

代码语言:javascript
复制
[testenv]
passenv = CI TRAVIS TRAVIS_*
setenv =
    PYTHONPATH = {toxinidir}
    PIPENV_IGNORE_VIRTUALENVS=1
deps =
    pipenv
    codecov
    pytest
    {py27}: pathlib2
commands_pre = 
    pipenv install --dev --skip-lock
    codecov

我创建了一个包含以下内容的最小tests/test_foo.py文件(foo()是包中当前唯一的函数)。

代码语言:javascript
复制
import pytest
import doctest
import neurokit2 as nk

if __name__ == '__main__':
    doctest.testmod()
    pytest.main()

def test_foo():
    assert nk.foo() == 4

我发现由travis触发的codecov似乎没有通过测试。此外,关于特拉维斯,它说,Error: No coverage report found,我想知道我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-31 12:09:19

1)在项目目录中创建pytest.ini文件,并添加以下行

代码语言:javascript
复制
[pytest]
testpaths = tests
python_files = *.py
python_functions = test_*

2)在项目目录中创建.coveragerc文件并添加以下行

代码语言:javascript
复制
[report]
fail_under = 90
show_missing = True

3)代码覆盖的pytest

代码语言:javascript
复制
pytest --verbose --color=yes --cov=Name of directory for which you need code coverage --assert=plain

注意:您需要代码覆盖的目录的名称必须在项目目录中。

票数 3
EN

Stack Overflow用户

发布于 2019-10-31 06:32:35

看起来你在你的安装上缺少了coverage。您可以在脚本中使用它,但它可能不会运行。尝试在您的pip install coverage文件中添加travis.yml。也试一试:codecov

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58635279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档