使用Python Unittest测试数组中的结果

时间:2015-08-03 10:54:39

标签: python python-unittest

我已经实现了计算年度抵押贷款还款的功能,我想测试它是否能产生正确的结果。

我将输入抵押值放在一个数组中,例如:

input_array([   50000.,   100000.,   150000., ...])

和另一个数组中的相应结果:

output_array([   3200.60,   6401.20,   9601.79, ...])

我想将输入数组中的每个元素作为我的函数的输入并测试结果与output_array相同。

是否可以自动执行此操作而不是手动输入assertEqual函数中的抵押值和预期输出?

非常感谢。

2 个答案:

答案 0 :(得分:2)

assertListEqual(map(f, input_array), output_array)

答案 1 :(得分:2)

您有两种选择。第一个,只是比较整个数组:

expected_list = [1, 2, 3, 4]
output_list = calc_mortgage([10, 20, 30, 42])
self.assertEqual(expected_list, output_list)

第二,你可以比较每个元素:

expected_list = [1, 2, 3, 4]
output_list = calc_mortgage([10, 20, 30, 42])
for pair in zip(expected_list, output_list):
    self.assertEqual(pair[0], pair[1])