【问题标题】:How to properly import my module file into my test file?如何正确地将我的模块文件导入我的测试文件?
【发布时间】:2021-11-08 12:50:21
【问题描述】:

我的文件结构如下:

C:.
├───jobs_struct
│   │
│   └───app
│       └───job_struct
│           │   delta.py
│
└───test
    ├───integration
    └───unitaire
        │   test_delta.py

test_delta.py是一个pytest文件,导入delta.py来测试其功能。

test_delta.py,我不明白我应该如何导入delta.py。我尝试了以下方法:

尝试 1

sys.path.append("../../")
from jobs_struct.app.job_struct.delta import ApplyDelta

投掷:

E ModuleNotFoundError: 没有名为“jobs_struct”的模块

尝试 2

from jobs_struct.app.job_struct.delta import ApplyDelta

E ModuleNotFoundError: 没有名为“jobs_struct”的模块

尝试 3

sys.path.append("/jobs_struct/app/job_struct")
from delta import ApplyDelta

从增量导入 ApplyDelta

E ModuleNotFoundError: 没有名为“delta”的模块

其他细节

一些answers 建议在特定位置(或任何地方)包含 init.py 文件。我想避免更改/向应用程序本身添加任何内容。

此外,pytest 命令是从项目的根目录运行的(如果有影响的话)。

问题

如何正确导入我的模块,知道使用绝对路径不是选项,以便能够运行我的测试文件。

【问题讨论】:

    标签: python python-3.x pytest


    【解决方案1】:

    你试过sys.path.append('your_complete_path_to/job_struct')

    然后:from delta import ApplyDelta ?

    【讨论】:

    • 不幸的是,没有。请参阅问题中的尝试 3 :(
    猜你喜欢
    • 2015-10-24
    • 2020-09-03
    • 1970-01-01
    • 2019-05-17
    • 2011-01-16
    • 2018-01-04
    • 2022-11-27
    • 1970-01-01
    • 2019-07-02
    相关资源
    最近更新 更多