Python中对返回双整数的函数进行单元测试的问题
解决Python单元测试中返回元组的断言问题
你的问题出在assertEqual的参数传递上:answer函数返回的是元组(3,4),但你把3和4作为两个独立参数传给了assertEqual,这会导致它把3当作预期值,4当作断言失败时的自定义提示信息,自然会触发断言错误。
正确的写法
直接把预期的元组作为第二个参数传入assertEqual即可:
input_a = 3 input_b = 4 test1.assertEqual(answer(input_a, input_b), (3, 4))
补充几个关键测试用例
为了确保函数逻辑全面覆盖,建议加上这些场景的测试:
- 第一个数大于第二个数的情况:
test1.assertEqual(answer(5, 2), (2, 5))
- 两个数相等的情况:
test1.assertEqual(answer(7, 7), (7, 7))
- 包含负数的情况:
test1.assertEqual(answer(-1, -5), (-5, -1))
- 混合正负的情况:
test1.assertEqual(answer(3, -2), (-2, 3))
内容的提问来源于stack exchange,提问作者Austin
相关产品推荐
相关产品推荐

