Python 单元测试允许多个可能的 Return 值
Python Unittest Allow Multiple Possible Return Values
我正在编写一个单元测试,它将 运行 用于我的 class 代码。对于他们必须编写的函数之一,他们可以 return 有两个可能的 return 值,其中任何一个都适合我的目的。
我一直在用
actual = my_function_call(arg1, arg2)
self.assertEqual(actual, expected)
但这不适用于接受两个有效 return 值之一,因此我将其更改为:
actual = my_function_call(arg1, arg2)
self.assertEqual(actual == expected1 or actual == expected2, True)
有没有一种不那么笨拙的方法来做到这一点?
你可以做到 assertTrue
和 in
self.assertTrue(actual in (expected1, expected2))
存在 assertIn
测试,您可以在这种情况下按如下方式使用它
self.assertIn(actual,[expected1,expected2])
它会检查 actual
是否存在于包含 expected1
、expected2
的列表中。
我正在编写一个单元测试,它将 运行 用于我的 class 代码。对于他们必须编写的函数之一,他们可以 return 有两个可能的 return 值,其中任何一个都适合我的目的。
我一直在用
actual = my_function_call(arg1, arg2)
self.assertEqual(actual, expected)
但这不适用于接受两个有效 return 值之一,因此我将其更改为:
actual = my_function_call(arg1, arg2)
self.assertEqual(actual == expected1 or actual == expected2, True)
有没有一种不那么笨拙的方法来做到这一点?
你可以做到 assertTrue
和 in
self.assertTrue(actual in (expected1, expected2))
存在 assertIn
测试,您可以在这种情况下按如下方式使用它
self.assertIn(actual,[expected1,expected2])
它会检查 actual
是否存在于包含 expected1
、expected2
的列表中。