nose2中是否存在assertRaises(或assert_raises)

Dou*_*tle 6 python nose nosetests python-2.7 python-3.x

我正在尝试为python项目编写一些鼻子测试.自从我上次写了一些nostests以来,已经有一段时间了(一年左右),看起来nose2是现在建议的模块.

我想编写一个测试来检查在将错误的值发送到def函数时引发异常.我知道在鼻子里是这样使用的:

from nose.tools import assert_raises

def add(x, y):
    return x + y

assert_raises(TypeError, add, 2, "0")
Run Code Online (Sandbox Code Playgroud)

我只是找不到nose2的等效使用示例,这些导入都不起作用(有人建议nose2更像是unittest而不是nose,它似乎使用assertRaises):

from nose2 import assert_raises
from nose2 import assertRaises
from nose2.tools import assert_raises
from nose2.tools import assertRaises
Run Code Online (Sandbox Code Playgroud)

搜索nose2文档网站时没有提到assert_raises或assertRaises

roi*_*ppi 7

看起来你可以找到它nose2.tools.such.helper.不,我也无法在文档中找到它.

注意有Helperhelper; 后者只是前者的单身实例.只是为了消除任何困惑,这就是他们所做的一切:

class Helper(unittest.TestCase):

    def runTest(self):
        pass


helper = Helper()
Run Code Online (Sandbox Code Playgroud)

即它只是unittest通过虚拟TestCase实例暴露assert*方法.