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

是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.这种差异也是我期望的,实际的.

所有这些Python代码我看到做错了吗?

我检查了unittest方法的定义,尽管它有非常有用的第一个,第二个参数名称.

最佳答案
根据assertEqual文件

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

因此,您可以将预期和实际放在任何地方,它将返回相同的结果.但通常的做法是将实际结果用作第一个参数,将预期结果用作第二个参数.它也在Python 3’s Unittest Example中得到证明:

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

相关文章

在这篇文章中,我们深入学习了XPath作为一种常见的网络爬虫技巧。XPath是一种用于定位和选择XML文档中特...
祝福大家龙年快乐!愿你们的生活像龙一样充满力量和勇气,愿你们在新的一年里,追逐梦想,勇往直前,不...
今天在爬虫实战中,除了正常爬取网页数据外,我们还添加了一个下载功能,主要任务是爬取小说并将其下载...
完美收官,本文是爬虫实战的最后一章了,所以尽管本文着重呈现爬虫实战,但其中有一大部分内容专注于数...
JSON是一种流行的数据传输格式,Python中有多种处理JSON的方式。官方的json库是最常用的,它提供了简单...
独立样本T检验适用于比较两组独立样本的均值差异,而配对T检验则适用于比较同一组样本在不同条件下的均...