0

上次我按照推荐的 src 布局 ( https://hynek.me/articles/testing-packaging/ ) 使用 tox 取得了巨大成功。

但是 VSCODE 测试发现失败,因为无法导入 src 包。这是预期的,因为我们要测试已安装的包。

但是如何在 vscode 中调试我的测试呢?

4

1 回答 1

0

(这里的Q作者:在发布问题之前我已经对此进行了研究,所以分享我的发现)

不解决

您可以修改 PYTHONPATH 以指向您的src目录,但它破坏了拥有单独src目录的主要好处(从 OP 读取链接)。

解决方案

使用pip install -e path/to/your/package(通常pip install -e .)启用开发模式并在安装时对您的代码库进行测试。

之后,您的测试应该被正确地发现。否则这是不同的问题 - 读取 vs 代码输出控制台。

注意:这需要setup.py作为构建后端

诗歌的解决方法

pyproject.toml

[build-system]
requires = [
    "poetry-core>=1.0.0", 
    "setuptools"  # to support local installations
]

然后

poetry build --format sdist && tar --wildcards -xvf dist/*.tar.gz -O '*/setup.py' > setup.py
pip install -e .

来源:https ://github.com/python-poetry/poetry/issues/34

TLDR:正确的解决方案超出了诗歌范围,指向 python-list 讨论的链接:https ://github.com/python-poetry/poetry/issues/34#issuecomment-732478605

于 2020-12-30T00:23:50.713 回答