Pytest 在 Poetry 项目中找不到我的测试(VSCode 找到)
Pytest does not find my tests in Poetry project (VSCode finds)
我刚刚使用常用的 poetry new mypackage
命令使用 Poetry 创建了我的第一个 Python 包。我的问题是当我 运行 时 pytest
不执行任何测试。我正在使用 VSCode 进行开发,奇怪的是 VSCode 成功找到并执行了我的测试。
Poetry 创建了一个名为 mypackage
的子目录和另一个名为 tests
的子目录。我的测试文件名为 tests/test_mypackage.py
.
VSCode 自动发现测试,并将它们显示在测试选项卡中。 .vscode/settings.json
文件具有以下配置:
"python.testing.pytestArgs": [
"tests"
],
我尝试了以下命令来执行 pytest:
- 手动激活我的 venv:
pytest
pytest tests
pytest tests/test_mypackage.py
cd tests;pytest test_mypackage.py
- 没有激活我的 venv:
poetry run pytest
poetry run pytest tests
行为总是一样的:没有任何反应,就好像 pytest 无法检测到任何 运行。
我一直在使用VSCode来运行测试,但现在我想把代码放在持续集成下。我如何 运行 pytest 来验证我的包?
更新:在 运行 时,在虚拟环境中,pytest 不打印任何输出,但其 return 代码为 1。
pytest
从激活的虚拟环境中还是不行,但是我发现我可以执行它运行ning:
poetry run pytest
我仍然不明白为什么直接从命令行 运行 找不到测试。
我刚刚使用常用的 poetry new mypackage
命令使用 Poetry 创建了我的第一个 Python 包。我的问题是当我 运行 时 pytest
不执行任何测试。我正在使用 VSCode 进行开发,奇怪的是 VSCode 成功找到并执行了我的测试。
Poetry 创建了一个名为 mypackage
的子目录和另一个名为 tests
的子目录。我的测试文件名为 tests/test_mypackage.py
.
VSCode 自动发现测试,并将它们显示在测试选项卡中。 .vscode/settings.json
文件具有以下配置:
"python.testing.pytestArgs": [
"tests"
],
我尝试了以下命令来执行 pytest:
- 手动激活我的 venv:
pytest
pytest tests
pytest tests/test_mypackage.py
cd tests;pytest test_mypackage.py
- 没有激活我的 venv:
poetry run pytest
poetry run pytest tests
行为总是一样的:没有任何反应,就好像 pytest 无法检测到任何 运行。
我一直在使用VSCode来运行测试,但现在我想把代码放在持续集成下。我如何 运行 pytest 来验证我的包?
更新:在 运行 时,在虚拟环境中,pytest 不打印任何输出,但其 return 代码为 1。
pytest
从激活的虚拟环境中还是不行,但是我发现我可以执行它运行ning:
poetry run pytest
我仍然不明白为什么直接从命令行 运行 找不到测试。