绝对导入失败

尼维拉尔

我创建了一个如下所示的测试:

import pytest
from datetime import date

from task import task_cm

@pytest.fixture
def setup_database():
    db = task_cm.SqliteDatabase(':memory:')
    db.task_insert_new(name='Today task',description="Test of description",deadline=date.today)
    db.task_insert_new(name='Tommorow Task',deadline=date.today+1)
    yield db

def test_connetion(setup_database):
    con = setup_database
    assert len(list(con.execute('SELECT * FROM tasklist'))) == 2

它位于Python约定中的Python测试发现建议的结构中

├── __init__.py
├── readme.md
├── requirements.txt
├── setup.py
├── task
│   ├── cli.py
│   ├── __init__.py
│   ├── __pycache__
│   └── task_cm.py
├── test
│   ├── __pycache__
│   └── task_cm_test.py

但是,当我尝试运行测试时,它失败并显示错误:

Traceback:
/usr/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
test/task_cm_test.py:4: in <module>
    from task import task_cm
E   ModuleNotFoundError: No module named 'task'

我已经阅读了整个导入模块文档,找不到任何有用的信息。

assli100

您可以使用该--import-mode 标志,这样它就可以sys.path在运行测试时照顾您,并将模块目录添加到其中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章