recorrer - ¿Cómo hacer pruebas en el uso de python3?
lista dentro de un diccionario python (4)
Trato de hacer nosetests
❯ pruebas ''/ pathTo / test''
pero usa python 2.7
para mis pruebas:
sys.version_info(major=2, minor=7, micro=5, releaselevel=''final'', serial=0)
Así que algunos de ellos fallan, porque fueron escritos en python 3.3
.
Trabajo y entorno virtual instalado:
pyvenv-3.3 py3env
Activado:
source ~/py3env/bin/activate
Compruebe la virsión de Python en un entorno virtual:
❯ python --version ⏎
Python 3.3.3
(py3env)
De acuerdo. Sin embargo, nosetest aún usa python2.7
incluso en un entorno virtual:
sys.version_info(major=2, minor=7, micro=5, releaselevel=''final'', serial=0)
Así que mis pruebas fallan. ¿Cómo hacer que la nariz use python3?
En Python 3.4
y versiones superiores: con el fin de hacer uso de la nariz python3
simplemente ejecute ...
python3 -m "nose"
... en el directorio de destino con las pruebas.
Las configuraciones del entorno no son necesarias.
Encontré la forma de utilizar las pruebas de red con python3 sin entorno:
cd /Library/Frameworks/Python.framework/Versions/3.3/bin
Y entonces:
❯ nosetests-3.3 ''/folder/with/tests''
nosetests-3.3
utiliza python 3
Eso es.
Y si quiere usar el comando nosetests
lugar de nosetests-3.3
, agregue ~/.bash_profile
:
nosetests()
{
/Library/Frameworks/Python.framework/Versions/3.3/bin/nosetests-3.3 $1
}
Ahora puedes usar:
nosetests ''/folder/with/tests''
desde cualquier directorio. Utiliza python3
.
Esto no es un problema virtualenv tanto como un problema de Linux.
Esto significa que cuando usa el comando nosetests
de la terminal, linux busca dentro de sus rutas disponibles ( /bin
, /sbin
, o lo que sea que sea) para un archivo ejecutable de este tipo.
Tu nosetests
global de python 2 se encuentra primero y se ejecuta.
Tu prueba nosetests
python3 nosetests
está más adelante en la lista de rutas disponibles y, por lo tanto, nunca se ha alcanzado.
Yo sugeriría que solo instale nose o cualquier otro comando de Python por entorno virtual.
Instalar:
sudo apt-get install python-nose python3-nose
Correr:
nosetests-2.7 ; nosetests3
Esto ejecuta el conjunto de pruebas tanto en PY2 como en PY3.