我正在尝试为一个python项目写一些nose测试。自从我上次写一些nostests已经有一段时间了(一年左右),看起来nose2是现在建议使用的模块。
我想写一个测试来检查当错误的值被发送到def函数时是否会引发异常。我知道在nose is中是这样使用的:
from nose.tools import assert_raises
def add(x, y):
return x + y
assert_raises(TypeError, add, 2, "0")
字符串
我只是找不到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
型
对nose2文档网站的搜索没有提到assert_raises或assertRaises
2条答案
按热度按时间wtzytmuj1#
看起来你可以在
nose2.tools.such.helper
中找到它。不,我在文档中也找不到它。注意,这里有
Helper
和helper
;后者只是前者的单例示例。为了消除任何混淆,这是它们在后台所做的一切:字符串
也就是说,它只是通过一个虚拟的
TestCase
示例公开unittest
assert* 方法。dgenwo3n2#
nose2.tools.such.helper不再可用。
正确的解决方案是知道在nose2中,所有的测试类都必须从
unittest.TestCase
继承,因此您切换到使用self.assertRaises