gpt4 book ai didi

python - pytest 的 ModuleNotFoundError 问题

转载 作者:行者123 更新时间:2023-11-28 17:08:19 25 4
gpt4 key购买 nike

我想使用 pytest 对另一个名为 src 的文件夹中的脚本进行单元测试。这是我的目录结构:

src      
__init__.py
script1.py
script2.py
test
test_fun.py

但是,当我尝试通过命令行在 test 文件夹中运行 pytest 时,我看到了以下错误

from script2 import fun2
E ModuleNotFoundError: No module named 'script2'

在每个脚本中,我有以下内容

script2.py:

def fun2():
return('result_from_2')

script1.py:

from script2 import fun2

def fun1():
return(fun2()+'_plus_something')

test_fun.py:

import sys
sys.path.append('../')
from src.script1 import fun1

def test_fun1():
output1 = fun1()

# check output
assert output1=='result_from_2_plus_something'

如何使用上面提供的目录运行 pytest?

最佳答案

导入文件时,Python 仅搜索当前目录、运行入口点脚本的目录和sys.path

修改test_fun.py如下:

import sys
sys.path.insert(0, '../src/')
from script1 import fun1

def test_fun1():
output1 = fun1()

# check output
assert output1=='result_from_2_plus_something'

关于python - pytest 的 ModuleNotFoundError 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49605830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com