簡體   English   中英

如何使用python3進行鼻子測試

[英]How to make nosetests use python3

我嘗試使用nosetests
❯ 鼻子測試 '/pathTo/test'

但它使用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

在虛擬環境中檢查python 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?

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

python3 -m "nose"

...在帶有測試的目標目錄中。

不需要環境設置。

安裝:

sudo apt-get install python-nose python3-nose

跑步:

nosetests-2.7 ; nosetests3

這將在 PY2 和 PY3 下運行測試套件。

我找到了在沒有環境的情況下在 python3 中使用鼻子測試的方法:

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

這不是一個 virtualenv 問題,而是一個 linux 問題。

這意味着當您從終端使用命令nosetests ,linux 會在它的可用路徑( /bin/sbin或您提供的任何路徑)中查找此類可執行文件。

首先找到並執行您的全局 python 2 nosetests

您的 virtualenv python3 nosetests位於可用路徑列表的后面,因此從未到達。

我建議每個虛擬環境只安裝nose 或任何其他python 命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM