我正在关注《Learn Python The Hard Way》这本书,在 ex 46 中我们为项目制作了一个骨架结构并安装了 Pytest 来测试项目代码。一切都很酷,直到我尝试对我的包进行测试。测试标记为成功,但仅当我使用代码运行的“test_Dandy2.py”文件单独测试模块时,我的模块代码中没有显示任何内容。 这就是我的目录的组织方式(基于书本练习):
project_1\
bin\
docs\
project1\
__init__.py
Dandy2.py
tests\
__init__.py
test_project1.py
test_Dandy2.py
setup.py
我尝试在包目录中的
__init__
文件中写入 import Dandy2,然后出现 ImportError。我查找了所有堆栈溢出,大多数答案都谈到我的项目文件不在 python 路径之外。然而,我的测试标记为成功,并且当单独运行模块测试时,它正常运行代码。
我不知道这是否应该如何工作,因为这本书没有给出任何解释,而且 LPTHW 论坛已经死了。也许是因为我使用的是 Windows 操作系统,并在 Powershell 中运行 pytest,并且需要进行一些调整才能使其工作(就像我必须运行脚本一样,我需要更改系统的执行策略) .
你跑得怎么样
pytest
?
根据您的描述,您可能需要测试目录。例如。假设您位于
project_1
目录中,运行;
pytest tests