2017-07-31 59 views
1

我有具有以下目錄結構的項目:配置pytest rootdir?

. 
.. 
core/start.py 
tests/test_curve.py 
pytest.ini 

pytest.ini的內容是:

[pytest] 
testpaths = tests 

test_curve.py內容是:

import core.start 

def test_curve(): 
    assert some_valid_stuff 

當我跑項目的根文件夾pytest,我得到:

import core.start 
ImportError: No module named 'core' 

我在做什麼錯?

+0

這不是pytest問題,但蟒蛇進口。 'core'和'tests'不是來自同一個軟件包,所以你不能''import core.start' from'core import start' – Arount

回答

1

你必須在運行測試之前設置PYTHONPATH

PYTHONPATH=`pwd` pytest 

或者在開發者的模式下安裝代碼:

pip install -e . 
pytest 

或運行安裝了代碼的虛擬環境中的測試:

virtualenv mycode 
. mycode/bin/activate 
pip install . 
pytest 
deactivate 

或使用創建/激活/自動禁用這些虛擬環境。