首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用单独的测试文件运行pytest

使用单独的测试文件运行pytest
EN

Stack Overflow用户
提问于 2017-10-16 21:29:42
回答 2查看 894关注 0票数 3

我有一个the pytest good integration practices guide推荐的目录结构,如下所示:

代码语言:javascript
复制
.
src/
    mypkg/
          __init__.py
          mypkg.py
tests/
      __init__.py
      test_mypkg.py

__init__.py文件都是空的,其他文件如下:

mypkg.py

代码语言:javascript
复制
def foo(x):
    """
    Show x.
    >>> foo(5)
    x is 5
    >>> foo("hello")
    x is hello
    """
    return "x is {0}".format(x)

test.py

代码语言:javascript
复制
from mypkg import *
def test_foo():
    assert foo(5) == "x is 5"

当我从根目录运行pytest时,我得到:

代码语言:javascript
复制
tests\test_foo.py:1: in <module>
    from mypkg import *
E   ModuleNotFoundError: No module named 'mypkg'

推荐的设置方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-03-25 02:14:19

我不是pytest专家,但这看起来像是conftest.py的任务,conftest允许一个人从模块/包/共享装置等加载测试……

有关详细信息,请参阅this page

票数 0
EN

Stack Overflow用户

发布于 2017-10-16 21:41:56

py不知道mypkg.py的路径。因此,您需要使用以下两行代码来通知

代码语言:javascript
复制
import sys
sys.path.append("/path/to/src/mypkg")
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46771568

复制
相关文章

相似问题

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