Pytest 不运行我的包模块中的代码

问题描述 投票:0回答:1

我正在关注《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,并且需要进行一些调整才能使其工作(就像我必须运行脚本一样,我需要更改系统的执行策略) .

python python-3.x pytest
1个回答
0
投票

你跑得怎么样

pytest

根据您的描述,您可能需要测试目录。例如。假设您位于

project_1
目录中,运行;

pytest tests
© www.soinside.com 2019 - 2024. All rights reserved.