如何使用将在python2和python3版本中兼容的六模块迁移代码

罗打那

我想在 python2 和 python3 版本中提供六个兼容我的代码。我从网上得到了这个例子,但没有得到更多的资源来在线得到这六个例子。在下面的代码中,我不明白为什么他们为测试用例创建了类并编写了这一行

class SampleTests(unittest.TestCase):

在 main 里面,他们是怎么称呼这个班级的SampleTests以及如何unittest.main()在 main 内部调用类?

请帮助我。如果可能的话,请给出一些六模块迁移的示例。

import six
from six.moves import reduce
import unittest


def multiply_values(val1, val2):
    return val1*val2

def add_values(val1, val2):
    return val1+val2

class SampleTests(unittest.TestCase):    
    def test_sets_equal(self):
        setValue1 = reduce(multiply_values, [1,2])
        setValue2 = reduce(add_values, [1,2])
        six.assertCountEqual(self, [2,3], [setValue1,setValue2])
    
if __name__ == '__main__':
    unittest.main()
Vojtech Trefny

在您的示例six中用于两件事:

  • reduce已在 Python 3 中删除并替换为functools.reducesosix为它提供了一个方便的“别名”,因此您可以reduce在 2 和 3 中调用
  • assertCountEqual是 Python 3 中 unittest 的一部分,所以six这里提供了它自己的 Python 2 实现。

six模块的最佳文档可在此处获得:https : //six.readthedocs.io/

注意:Python 2 现在已弃用,您不应将其用于新项目。six将帮助您编写适用于 Python 的两个版本的代码,但如果您没有充分的理由支持 Python 2,最好编写仅适用于 Python 3 的代码。2to3 工具可以帮助您将 Python 2 代码转换为 Python 3。

为什么他们为测试用例创建类并编写了这一行 class SampleTests(unittest.TestCase): 和 Inside main,他们如何调用类 SampleTests

这不是真正的six具体问题,这是unittest模块在 Python 2 和 3 上的工作方式,有关详细信息,请参阅https://docs.python.org/3/library/unittest.html

TL; DR版本:unittest.main()将自动运行的文件和测试情况下,所有的测试案例被定义为一个函数与名称开始test_在一个unittest.TestCase类中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python2“在一个文件中提高e [0],e [1],e [2]”和python3版本

来自分类Dev

降低Python3版本

来自分类Dev

python2和python3中dict的__repr __()

来自分类Dev

以与python2和python3兼容的方式将字节写入标准输出

来自分类Dev

恢复MacOS系统的Python3版本

来自分类Dev

如何将Lambda从python2迁移到python3并处理python3中已删除的元组参数解包

来自分类Dev

使用 pip 将所有 python2 包迁移到 python3

来自分类Dev

如何在Ubuntu上安装PyQt4-phonon(python3版本)

来自分类Dev

如何在Ubuntu上安装PyQt4-phonon(python3版本)

来自分类Dev

如何在Windows上的python 3.4版本中安装请求模块?

来自分类Dev

使用新的python插件时,如何告诉snapcraft将我的代码运行为python2而不是python3?

来自分类Dev

如何使用 python2 和 3 支持从源代码构建 vim80?

来自分类Dev

有没有办法使用 SWIG C++ 创建一个 python 模块,它可以在 Python2 和 Python3 中导入

来自分类Dev

正确处理Python2和Python3

来自分类Dev

Python2和Python3之间的字符编码

来自分类Dev

正确处理Python2和Python3

来自分类Dev

统一python 2/3版本中的支持类型

来自分类Dev

pwntools Python模块在python2中不起作用,但在python3中起作用

来自分类Dev

Django和Python的六个兼容性模块

来自分类Dev

如何分别为python3和python2设置不同的PYTHONPATH变量

来自分类Dev

在Python2和Python3中编写不同的十六进制值

来自分类Dev

Ansible json_query在python3和python2中的不同结果

来自分类Dev

Python2 和 Python3 中的 bytes.decode()

来自分类Dev

使用python2和python3在stderr上编写的函数

来自分类Dev

使用python2和python3创建一个virtualenv

来自分类Dev

使用 python3 和 python2 构建分发包的区别?

来自分类Dev

使用多个 Pipfiles 支持 python2 和 python3

来自分类Dev

您可以更新Python3的QPython3版本吗?

来自分类Dev

python2中的python3 datetime.timestamp?

Related 相关文章

  1. 1

    Python2“在一个文件中提高e [0],e [1],e [2]”和python3版本

  2. 2

    降低Python3版本

  3. 3

    python2和python3中dict的__repr __()

  4. 4

    以与python2和python3兼容的方式将字节写入标准输出

  5. 5

    恢复MacOS系统的Python3版本

  6. 6

    如何将Lambda从python2迁移到python3并处理python3中已删除的元组参数解包

  7. 7

    使用 pip 将所有 python2 包迁移到 python3

  8. 8

    如何在Ubuntu上安装PyQt4-phonon(python3版本)

  9. 9

    如何在Ubuntu上安装PyQt4-phonon(python3版本)

  10. 10

    如何在Windows上的python 3.4版本中安装请求模块?

  11. 11

    使用新的python插件时,如何告诉snapcraft将我的代码运行为python2而不是python3?

  12. 12

    如何使用 python2 和 3 支持从源代码构建 vim80?

  13. 13

    有没有办法使用 SWIG C++ 创建一个 python 模块,它可以在 Python2 和 Python3 中导入

  14. 14

    正确处理Python2和Python3

  15. 15

    Python2和Python3之间的字符编码

  16. 16

    正确处理Python2和Python3

  17. 17

    统一python 2/3版本中的支持类型

  18. 18

    pwntools Python模块在python2中不起作用,但在python3中起作用

  19. 19

    Django和Python的六个兼容性模块

  20. 20

    如何分别为python3和python2设置不同的PYTHONPATH变量

  21. 21

    在Python2和Python3中编写不同的十六进制值

  22. 22

    Ansible json_query在python3和python2中的不同结果

  23. 23

    Python2 和 Python3 中的 bytes.decode()

  24. 24

    使用python2和python3在stderr上编写的函数

  25. 25

    使用python2和python3创建一个virtualenv

  26. 26

    使用 python3 和 python2 构建分发包的区别?

  27. 27

    使用多个 Pipfiles 支持 python2 和 python3

  28. 28

    您可以更新Python3的QPython3版本吗?

  29. 29

    python2中的python3 datetime.timestamp?

热门标签

归档