python五种常见的测试框架是什么
导读:本文共3184字符,通常情况下阅读需要11分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 一. unittestunittest 和 JUnit类似,可以说是python的标准单元测试框架,所以有时也被人称为 PyUnit。它使用起来和xUnit 家族其他成员类似。 用的人也比较多。兼容 python2 以及python3 。个人比较喜欢用这个,主要之前用过JUnit,用这个上手就很快。而且属于python自动集成,不用额外的安装包,感觉是该有的都有... ...
目录
(为您整理了一些要点),点击可以直达。unittest 和 JUnit类似,可以说是python的标准单元测试框架,所以有时也被人称为 PyUnit。它使用起来和xUnit 家族其他成员类似。 用的人也比较多。兼容 python2 以及python3 。
个人比较喜欢用这个,主要之前用过JUnit,用这个上手就很快。而且属于python自动集成,不用额外的安装包,感觉是该有的都有了,用着方便。
官网示例:
按 Ctrl+C 复制代码
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self): self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper())
def test_split(self): s = 'hello world' self.assertEqual(s.split(), ['hello', 'world']) # check that s.split fails when the separator is not a string with self.assertRaises(TypeError): s.split(2)
if name == 'main': unittest.main()
unittest2 可以说是一个针对 unittest 测试框架新特性的补丁。它很大程度上和 unittest 都类似。然后还添加了一些 unittest 没有的方法。
看了一下,pytest 文档还是蛮详细的。比较关注的一点是,pytest 直接可以通过 @pytest.mark.parametrize 进行参数化,而 unittest 则需要借助 DDT。
官网示例:
执行如下:
nose 扩展了 unittest,从而使得测试更容易。
一般可以用 unittest 方式写用例,写完之后用 nose 来执行。nose 的测试收集方式还是很方便的。
还有一个特定就是,nose 可以采用 @with_setup() 来定义方法的 setup 和 teardown。
官方示例:
doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果。
doctest 中,如果要写测试用例,只需要在写在以 ''' '''包围的文档注释即可,也就是可以被 doc 这个属性引用到的地方。这点比较特别,跟其他单元测试框架都不一样。但是我觉得这样的话就注定了 doctest 不适合大型测试,因为做不到代码和测试的分离。
verbose 参数用于控制是否输出详细信息,默认为 False ,如果不写,那么运行时不会输出任何东西,除非测试 fail。
输出如下:
python五种常见的测试框架是什么的详细内容,希望对您有所帮助,信息来源于网络。