我目前正在做一项大学作业,要求我用 python 进行单元测试。我需要进行单元测试的程序制作起来非常简单;我只需要它输入两个数字,然后输出两个数字中较小的数字,然后输出较大的数字。
我对如何进行单元测试有点困惑。我可以通过以下方式在 python 中进行单元测试:
result = 3 + 7
test1.assertEqual(result, 10)
但是,我需要更多类似的东西:
input_a = 3
input_b = 4
test1.assertEqual(answer(input_a, input_b), 3, 4)
在上面的情况下,“answer”是一个函数,用于检查两个数字中哪个更大、哪个更小,然后相应地返回它们。例如,如果“answer”采用两个数字“a”和“b”,其中 a > b,则“answer”函数将以“return b, a”结束。
我已经尝试了上面给出的第二个代码示例,但它似乎不起作用,因为运行测试会出现断言错误: AssertionError: (3, 4) != 3 : 4
有人对我如何能够或需要格式化测试两个数字序列的单元测试有任何想法吗?如果是这样,我将不胜感激。
按照评论中的建议,您可以将 3, 4 括在括号中,以便解决您的问题,如下所示:
test1.assertEqual(answer(input_a, input_b), (3, 4))
注意:您的函数返回一个包含两个值的元组,您希望比较中使用的值与此正测试用例中函数返回的元组相匹配。