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