gpt4 book ai didi

python - unittest.TestCase.assertEqual 的参数顺序

转载 作者:太空狗 更新时间:2023-10-30 01:12:41 25 4
gpt4 key购买 nike

assertEqual(actual, expected) 还是 assertEqual(expected, actual)

一方面,我看到很多代码使用 assertEqual(actual, expected)。这包括 examples in the unittest docsexamples in the Django docs .

但是,这个测试 assertEqual('foo', 'bar') 给出了输出

- foo
+ bar

这恰好与使用 assertEquals( 'foo', 'bar' );

的 PHPUnit 测试相同
-'foo'
+'bar'

PHPUnit 将 $expected 作为第一个参数,然后是 $actual。此差异也是我对 expected, actual 的期望。

那么我看到的所有这些 Python 代码都做错了吗?

我检查了 unittest 方法的定义,尽管它具有非常有用的 first, second 参数名称。

最佳答案

根据 assertEqual文档:

Test that first and second are equal. If the values do not compare equal, the test will fail.

因此,您可以将 expected 和 actual 放在任何地方,它会返回相同的结果。但通常的做法是使用实际结果作为第一个参数,使用预期结果作为第二个参数。它也在 Python 3's Unittest Example 中展示。 :

s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])

关于python - unittest.TestCase.assertEqual 的参数顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40945126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com