与np.testing.assert_equal()
,np.testing.assert_raises(
相反)不接受err_msg
参数。当这个断言失败时,是否有一种干净的方式显示错误消息?使用错误消息与numpy.testing.assert_raises()
更一般地说,为什么有些assert_*
方法接受这个参数,而有些则不接受?
与np.testing.assert_equal()
,np.testing.assert_raises(
相反)不接受err_msg
参数。当这个断言失败时,是否有一种干净的方式显示错误消息?使用错误消息与numpy.testing.assert_raises()
更一般地说,为什么有些assert_*
方法接受这个参数,而有些则不接受?
这些功能在numpy/testing/utils.py
执行。学习该代码可能是您的最佳选择。
我看到assert_raises
将任务传递给nose.tools.assert_raises(*args,**kwargs)
。所以这取决于做什么。如果我还记得在其他模块中正确使用它,那么您通常更感兴趣的是由错误引发的错误消息,而不是显示自己的错误消息。请记住,unittests
更适合您自己的诊断目的,而不是最终用户友好的工具。
assert_equal
是一个复杂的函数,用于测试各种对象,并相应地生成错误消息。它可能包含对象的信息。
这部分代码的选择很大程度上取决于对开发人员有用的东西。它们主要是为了测试numpy
代码本身而编写的。所以系统化并不是一个优先事项。