Python 单元测试

Python Unittest

Unit test

python 有个模块叫做 unittes,是Junit的Python实现,一个常用的单元测试框架。

文件结构

我一般是把UnitTest目录和src目录平行放置。
下面是Python官方文档给出的例子:

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)
            

如果要运行unittest,只需要加上

if __name__ == '__main__':
    unittest.main()

然后直接运行该脚本。

每个test case的名字都由test开头,个人习惯在test和下划线之间加上test case的序号。

  • test01_condition1(self)
  • test02_condition1(self)
  • ...

测试环境的搭建与还原

  • setUp() --- 用于测试环境的构建, 所有test case开始前执行
  • tearDown() --- 测试环境的还原, 所有test case结束后执行

跳过某test case

如果想跳过某test case暂不执行,可以在该method前加一个decorator

@unittest.skip("demonstrating skipping")
def test12_condition12(self):
    self.assertEqual(1, 2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值