2014-04-01 74 views
20

我嘗試使用nosetests
❯nosetests '/ pathTo /測試'如何使nosetests使用python3

但它使用python 2.7對我的測試:

sys.version_info(major=2, minor=7, micro=5, releaselevel='final', serial=0) 

所以他們中的一些失敗,因爲他們寫在python 3.3

我周圍的工作,它和安裝的虛擬環境:

pyvenv-3.3 py3env 

激活它:在虛擬環境中

source ~/py3env/bin/activate 

檢查蟒蛇virsion:

❯ python --version                     ⏎ 
Python 3.3.3 
(py3env) 

確定。 但nosetest仍然即使是在虛擬環境中使用python2.7

sys.version_info(major=2, minor=7, micro=5, releaselevel='final', serial=0) 

所以我的測試失敗。 如何使鼻子使用python3?

+0

您是否使用虛擬環境中的鼻子測試? – Oleksiy

+0

是的。我激活虛擬環境,然後在同一個控制檯中使用鼻子。 –

+0

我會嘗試使用python解釋器手動運行'〜/ py3env/bin/nosetests-script.py'並檢查結果。 – Oleksiy

回答

19

Python 3.4及更高版本:爲了使鼻用python3只需運行...

python3 -m "nose" 

...與測試目標目錄。

環境設置不是必需的。

1

我發現方式使用與python3 nosetests無環境:

cd /Library/Frameworks/Python.framework/Versions/3.3/bin 

然後:

❯ nosetests-3.3 '/folder/with/tests' 

nosetests-3.3使用python 3

就是這樣。

如果您想使用命令nosetests代替nosetests-3.3,加入~/.bash_profile

nosetests() 
{ 
    /Library/Frameworks/Python.framework/Versions/3.3/bin/nosetests-3.3 $1 
} 

現在你可以使用:

nosetests '/folder/with/tests' 

從任何目錄。它使用python3

+0

或者,您可以鏈接nosetests-3.3: '''ln /Library/Frameworks/Python.framework/Versions/3.3/bin/nosetests-(version-number)/ usr/local/bin/nosetests3''' –

0

要安裝:

sudo apt-get install python-nose python3-nose

運行:

nosetests-2.7 ; nosetests3

這同時運行PY2和PY3下的測試套件。