我跟随这个例子:https://www.jetbrains.com/help/pycharm/pytest.html
我在src / project下创建了两个类:Car.py和test_car_pytest.py:
class Car(object):
def __init__(self, speed=0):
self.speed = speed
self.odometer = 0
self.time = 0
...
然后在test_car_pytest.py中:
from Car import Car
def test_car_brake():
car = Car(50)
assert car.speed == 45
在PyCharm中,import语句显示'Car'是一个未解析的引用。当我试图运行它时,我收到以下错误:
============================= test session starts ==============================
platform darwin -- Python 3.6.8, pytest-4.2.0, py-1.7.0, pluggy-0.8.1
rootdir: /Users/minn/PycharmProjects/test/src, inifile:
test_car_pytest.py:None (test_car_pytest.py)
ImportError while importing test module '/Users/minn/PycharmProjects/test/src/test_car_pytest.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test_car_pytest.py:1: in <module>
from Car import Car
E ModuleNotFoundError: No module named 'Car'
当我单独执行Car.py时,它会正常运行。这两个文件在同一目录下,为什么导入失败?
由于您使用的是Python 3,因此需要进行相对导入。将您的import语句更改为以下内容:
from .Car import Car