自动化学习01-单元测试unittest模块

例子:
import unittest
import random

class MyTest(unittest.TestCase):
def setUp(self):
self.num = range(10)

def testramdow(self):
    self.assertTrue(random.choice(self.num)in self.num)

def test1(self):
    num1 = random.choice(self.num)
    nun2 = random.choice(self.num)
    self.assertEqual(num1,nun2)
def test2(self):
    num1 =random.choice(self.num)
    self.assertTrue(num1<10)

if name == ‘main’:
suite = unittest.TestSuite()
suite.addTest(MyTest(“test1”))
suite.addTest(MyTest(“test2”))
suite.addTest(MyTest(“testramdow”))
unittest.TextTestRunner(verbosity=3).run(suite)

  1. 首先是导入unittest 模块 没有自行去pip install unittest
  2. MyTest类继承自unittest.TestCase
  3. setup用来初始化数据,只会运行一次
  4. 每一个以test开头的方法,都会为其构建TestCase对象,使用unittest.main方法执行函数;所以再写测试用例的时候一定是以test开头
  5. TestSuite’:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给testRunner进行测试执行
  6. self.assertTrue(表达式, failedinfo) # 断言value为真
  7. self.assertFalse(表达式, failedinfo) # 断言value为假
  8. self.assertEqual(value1, value2, failedinfo) # 断言value1 == value2
  9. unittest.TextTestRunner(verbosity=2).run(suite)运行用例,TextTestRunner类将用例执行的结果以text形式输出,verbosity默认值为1,不限制完整结果,即单个用例成功输出’.’,失败输出’F’,错误输出’E’;verbosity=2将输出完整的信息,verbosity=2是指测试结果的输出的详细程度,有0-6级,具体代码实现可看Python27\Lib\unittest\runner.py源代码

1.unittest.suite(),创建一个测试套件,suite.addTest()添加单个用例到测试套件中,需要把每一个要执行的用例都添加一遍,unittest.TextTestRunner().run()执行测试测试套件的所有用例;

我们也可以用addTests()方法添加多个测试用例,用makesuite(),搜索所有测试用例添加到测试套件,如下:只是main()方法下面的方法修改下即可
#定义一个测试套件
suite=unittest.TestSuite()
#添加测试用例
#添加单个测试用例
suite.addTests(unittest.makeSuite(MyTest))
unittest.TextTestRunner(verbosity=2).run(suite)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值