python定义test方法_Python Unittest原理及基本使用方法

基本使用步骤:

1、import unittest

2、新建一个Class继承unittest.TestCase

3、定义一个以test开头的函数作为测试用例【必须以test开头】

4、执行测试用例前都会先调用Setup函数【每个测试用例调用一次】或者setupClass函数【所有测试用例仅调用一次】

5、执行完测试用例后都会调用tearDown函数【多次】和tearDownClass函数【仅一次】

PS:

1、不能重写init()

2、函数必须以test开头才能作为测试用例

3、setupClass()和tearDownClass()必须用@classmethod修饰

# -*- encoding=utf-8 -*-

import unittest

class Demo1(unittest.TestCase):

def setUp(self):

print '调用 setup 函数'

@classmethod

def setUpClass(cls):

print '调用 setupClass 函数'

def tearDown(self):

print '调用 tearDown 函数'

@classmethod

def tearDownClass(cls):

print '调用 tearDownClass 函数'

@staticmethod

def test_add():

print '3 + 5 = {}'.format(3 + 5)

@staticmetho

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解了您的要求,下面是关于Python unittest使用教程: 1.引入unittest模块 在Python使用unittest时,首先需要引入unittest模块,示例如下: ```python import unittest ``` 2.测试用例的编unittest中,每一个测试用例都需要是一个类,并且需要继承自unittest.TestCase。在该类中,需要编一些测试方法,用于测试具体的功能。示例如下: ```python 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']) # 检查 s.split 的返回值是否为 ['hello', 'world'] with self.assertRaises(TypeError): s.split(2) ``` 在上述示例中,我们定义了一个名为TestStringMethods的类,并继承了unittest.TestCase。在该类中,我们定义了三个测试方法,分别用于测试字符串是否转化为大格式、字符串是否全部为大格式以及字符串分割成列表的功能。其中,使用了self.assertEqual()和self.assertTrue()方法来检查功能是否正确。 3.测试运行 编完测试用例后,我们需要使用unittest模块的unittest.main()方法来运行测试,示例如下: ```python if __name__ == '__main__': unittest.main() ``` 在上述代码中,我们使用了__name__变量,该变量用于判断当前模块是否为主模块。如果当前模块为主模块,则执行unittest.main()方法来运行测试。 完整代码示例如下: ```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']) # 检查 s.split 的返回值是否为 ['hello', 'world'] with self.assertRaises(TypeError): s.split(2) if __name__ == '__main__': unittest.main() ``` 希望这个教程能够帮到您,如果您还有其他问题,可以继续向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值