首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pydev对nose2的支持

pydev对nose2的支持
EN

Stack Overflow用户
提问于 2012-12-21 18:55:35
回答 1查看 520关注 0票数 3

我已经成功地在PyDev上运行了鼻部测试,并想试一试nose2。

所以我把它安装在

代码语言:javascript
复制
pip install nose2

将示例代码从http://nose2.info/复制/粘贴到名为‘test_script_with_nose2’的新模块中:

代码语言:javascript
复制
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?"

但是我得到了这个错误

代码语言:javascript
复制
======================================================================
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中选择了nose作为单元测试运行器,但也许它需要一个新的nose2运行器?如果是这样的话,有人知道怎么做吗?还是我错过了一些微不足道的东西?

EN

回答 1

Stack Overflow用户

发布于 2014-12-15 23:26:43

这个悬而未决的答案已经延迟了几年,但我想提供这个信息。

您提供的错误中的这一行表明正在使用nose而不是nose2,因为nose2是一个单独的包,可通过pip安装:

代码语言:javascript
复制
File "/usr/local/lib/python2.7/dist-packages/nose/case.py", line 197, in runTest

我还尝试在pydev中使用nose2,从nose升级。我卸载了nose并安装了nose2,然后尝试运行您提供的测试代码,但在导入nose2时失败,而不是您提供的错误。

代码语言:javascript
复制
ImportError: No module named nose2.compat

然后,我尝试了一些我已经有过的单元测试,但得到了以下消息:

代码语言:javascript
复制
Warning: Could not import the test runner: --nose-params. Running with the default pydev unittest runner instead.

因此,到目前为止,pydev似乎仍然不支持nose2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13988813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档