Voici ce qui fonctionne pour moi :
$ virtualenv --no-site-packages env1
$ cd env1
$ source bin/activate # active l'environnement "env1",
# vous remarquerez que l'invite de commande
# affiche désormais le nom de l'environnement.
(env1)$ easy_install nose # installe le paquet nose dans "env1"
J'ai créé un package très basique slither
qui avait, dans son setup.py
, le même attribut test_suite
que celui mentionné ci-dessus. Ensuite, j'ai placé la source du package sous env1/src
.
Si vous regardez à l'intérieur de env1/src
, vous verrez :
slither/setup.py
slither/slither/__init__.py
slither/slither/impl.py # contient un code très simple à tester
slither/slither/tests.py # contient des cas de test
Je peux exécuter les tests en utilisant la sous-commande test
:
(env1)$ pushd src/slither
(env1)$ python setup.py test
# ... sortie tronquée ...
test_ctor (slither.tests.SnakeTests) ... ok
test_division_by_zero (slither.tests.SnakeTests) ... ok
Ran 2 tests in 0.009s
OK
(env1)$ popd
Ou, je peux exécuter les mêmes tests avec nosetests
:
(env1)$ pushd src
(env1)$ nosetests slither/
..
Ran 2 tests in 0.007s
OK
(env1)$ popd
Remarquez également que nosetests
peut être pointilleux concernant les exécutables. Vous pouvez passer --exe
si vous voulez qu'il découvre les tests dans les modules python qui sont exécutables.