J'ai effectué des tests de nez avec succès avec PyDev et je voulais essayer nose2.
Je l'ai donc installé avec
pip install nose2
copié/collé de l'exemple de code de http://nose2.info/ dans un nouveau module appelé 'test_script_with_nose2' :
from nose2.compat import unittest
from nose2.tools import params
def tests_can_be_functions():
assert True
def tests_can_be_generators():
def check(val):
assert val == val, "Identity failure!"
for i in range(1, 4):
yield check, i
@params(1, 2, 3)
def tests_can_take_parameters(p):
assert p < 4, "How'd that get here?"
class TestsCanBeUnittestTestCases(unittest.TestCase):
def setUp(self):
self.x = 1
def test_one(self):
self.assertEqual(self.x, 1)
class TestsCanBePlainClasses(object):
def setUp(self):
self.me_too = 1
def test(self):
assert self.me_too == 1, "Not me too?"
Mais je reçois cette erreur
======================================================================
ERROR: test_script_with_nose2.tests_can_take_parameters
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
TypeError: tests_can_take_parameters() takes exactly 1 argument (0 given)
----------------------------------------------------------------------
Ran 7 tests in 0.014s
FAILED (errors=1)
J'ai sélectionné nose comme runner de test unitaire dans pydev, mais peut-être faut-il un nouveau runner pour nose2 ? Si oui, quelqu'un sait comment faire ? Ou est-ce que je rate quelque chose de trivial ici ?