使用numpy.testing.assert_raises()的错误消息

时间:2016-04-20 14:09:10

标签: python unit-testing numpy

np.testing.assert_equal()相反,np.testing.assert_raises()不接受err_msg参数。当断言失败时,是否有一种干净的方式来显示错误消息?

更一般地说,为什么有些assert_*方法会接受此参数,而其他一些方法则不接受?

1 个答案:

答案 0 :(得分:0)

这些功能在numpy/testing/utils.py中实现。研究该代码可能是您的最佳选择。

我看到assert_raises将任务传递给nose.tools.assert_raises(*args,**kwargs)。所以这取决于它的作用。如果我记得在其他模块中正确使用它,你通常对Error引发的错误消息更感兴趣,而不是显示你自己的错误消息。请记住,unittests更多用于您自己的诊断目的,而不是最终用户友好的工具。

assert_equal是一个复杂的函数,可以测试各种对象,并相应地构建错误消息。它可能包括对象的信息。

这部分代码中的选择很大程度上取决于对开发人员有用的内容。它们主要用于测试numpy代码本身。因此,系统化不是优先事项。