поддержка pydev для носа2

Я успешно провел носовые тесты с PyDev и хотел попробовать Nose2.

Поэтому я установил его с помощью

pip install nose2

скопируйте/вставьте пример кода с http://nose2.info/ в новый модуль под названием '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?"

Но я получаю эту ошибку

======================================================================
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)

Я выбрал нос в качестве средства запуска модульных тестов в pydev, но, возможно, ему нужен новый бегун для носа2? если да то кто знает как это сделать? Или я пропустил что-то тривиальное здесь?


person dm76    schedule 21.12.2012    source источник


Ответы (1)


Этот нерешенный ответ задерживается на пару лет, но я хотел предоставить эту информацию.

Эта строка в предоставленной вами ошибке указывает на то, что нос используется вместо носа2, поскольку нос2 — это отдельный пакет, устанавливаемый через pip:

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

Я также пытался использовать nose2 в pydev, обновляясь с nose. Я удалил nose и установил nose2, а затем попытался запустить тестовый код, который вы предоставили, но он не смог импортировать nose2 вместо указанной вами ошибки.

ImportError: No module named nose2.compat

Затем я попробовал несколько модульных тестов, которые у меня уже были, но получил следующее сообщение:

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

Похоже, что на данный момент Nose2 все еще не поддерживается в pydev.

person mach    schedule 15.12.2014