测试驱动的开发
TDD是软件开发史上最重要的里程碑之一。TDD主要专注于自动单元测试,它的目标是尽最大限度自动化测试代码。如果代码被改动,我们仍可以运行测试并捕捉可能存在的问题。换言之,测试对于已经存在的功能模块依然有效。
断言函数
比较两个浮点数的大小:
assert_approx_equal 如果两个数字的近似程度没有达到指定有效数字,就抛出异常
assert_array_almost_equal 如果两个数组中元素的近似程度没有达到指定精度,就抛出异常
assert_array_equal 如果两个数组对象不相同,就抛出异常
assert_array_less 两个数组必须形状一致,并且第一个数组的元素严格小于第二个数组的元素,否则就抛出异常
assert_equal 如果两个对象不相同,就抛出异常
assert_raises 若用填写的参数调用函数没有抛出指定的异常,则测试不通过
assert_warns 若没有抛出指定的警告,则测试不通过
assert_string_equal 断言两个字符串变量完全相同
assert_allclose 如果两个对象的近似程度超出了指定的容差限,就抛出异常
# assert_allclose 如果两个对象的近似程度超出了指定的容差限,就抛出异常 from numpy.testing import assert_allclose assert_allclose(np.sum(q_i), 1, err_msg="{}".format(np.sum(q_i)))