3 votes

support pydev pour nose2

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 ?

0voto

mach Points 302

Cette réponse non résolue a quelques années de retard, mais je tenais à fournir cette information.

Cette ligne dans l'erreur que vous avez fournie indique que nose est utilisé au lieu de nose2, puisque nose2 est un paquet séparé installable via pip :

File "/usr/local/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest

J'ai également essayé d'utiliser nose2 dans pydev, mise à niveau de nose . J'ai désinstallé nose et installé nose2 puis j'ai essayé d'exécuter le code de test que vous avez fourni, mais il a échoué à l'importation de nose2 au lieu de l'erreur que vous avez fournie.

ImportError: No module named nose2.compat

Ensuite, j'ai essayé certains tests unitaires que j'avais déjà, mais j'ai obtenu le message suivant :

Warning: Could not import the test runner: --nose-params. Running with the default pydev unittest runner instead.

Il semble donc que nose2 ne soit toujours pas pris en charge par pydev à cette date.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X