我有问题在测试文件中使用py.test运行时,无法导入任何内容。
我的项目结构如下:
我的项目结构如下:
/ProjectName
|
|-- /Title
| |-- file1.py
| |-- file2.py
| |-- file3.py
| |-- __init__.py
|
|-- /test
| |-- test_file1.py
我无法在pytest中的test_file1.py
文件中使用任何导入语句,因此目前只尝试使用在file_1.py
中声明的变量,并在运行test_file1.py
时将其打印出来。
file1.py
包含:
file1_variable = "Hello"
test_file1.py包含以下内容:
import sys
import os
sys.path.append(os.path.abspath('../Title'))
import file1
def test_something():
assert file1.file1_variable == "Hello"
print(file1.file1_variable)
我从https://dev59.com/qGkv5IYBdhLWcg3w6k1Q#10272919中获取了我的测试文件的导入语句,该语句通过编辑PYTHONPATH变量来实现。这使得我可以运行test_file1.py
脚本并成功执行print
语句。
然而,在/ProjectName
目录下尝试运行py.test
时,会出现一个错误,提示ImportError: No module named 'file1'
有没有什么方法可以更好地结构化事物,使得pytest成为可能?我需要在__init__.py
文件中添加一些内容吗?