Joh*_*hiu 7 python unit-testing module pytest
我想使用 pytest 对另一个名为src. 这是我的目录结构:
src
__init__.py
script1.py
script2.py
test
test_fun.py
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试通过命令行在文件夹中运行pytest时test,看到以下错误
from script2 import fun2
E ModuleNotFoundError: No module named 'script2'
在每个脚本中,我有以下内容
脚本2.py:
def fun2():
return('result_from_2')
Run Code Online (Sandbox Code Playgroud)
脚本1.py:
from script2 import fun2
def fun1():
return(fun2()+'_plus_something')
Run Code Online (Sandbox Code Playgroud)
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'
Run Code Online (Sandbox Code Playgroud)
如何使用上面提供的目录运行 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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3265 次 |
| 最近记录: |