版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
测试单元
测试单元是测试流程最基本的部分。
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- 回归测试
# 引用unittest 中TestCase 完成测试单元的实现
import unittest
def add(a,b):
return a+b
class Mytest(unittest.TestCase):
def test_add(self):
self.assertEqual(8,add(5+3))
# 调用时使用的是TestCase 中的main()
unittest.main()
测试类型
person = {'name': 'tom';'age': 12}
number = [1,23,4,5,6,7]
s = '我是海贼王'
class TestAssert(unittest.TestCase):
def test_assert_method(self):
# 判断相等
self.assertEqual('tom',person.get('name'))
# 判断为真
self.assertTrue('海贼王' in s)
# 判断是否有该字符
self.assertIn('海贼王', s)
# 会出现浮点型误差,assertAlmostEqual忽略误差
self.assertAlmostEqual(1.1,0.1+1)
# 判断 真 真
self.assertIs(True+1,2)
# 判断None
self.assertIsNone(person.get('tom'))
# 判断类型相同
self.assertIsInstance(s, str)
数值处理
格式化
# 格式化
b = 123
# 与.format 方法相同
f'数值:{b}''
# 浮点数
'数值: {:f}'.format(b)
f'数值:{b:f}'
x = 18 / 13
# 保留两位小数,四舍五入
f'{x:.2f}'
# 百分数
f'{x:.2%}'
数值处理
import math
# 只保留整数
math.trunc(18/13)
# 向下 floor 地板
math.floor(18/13)
# 向上 ceil 天花板
math.ceil(18/13)
# 四舍五入
round(18/13, 3)
随机数
import random
lst = list(range(1,11))
# 随机选一个
random.choice(lst)
# 随机取3个
random.sample(lst, 3)
# 打乱顺序
random.shuffle(lst)
# 在1,10间随机选一个
random.randint(1,10)
日期处理
基本日期
import datetime
# 最大年份
datetime.MAXYEAR
# 今天日期 datetime.date类型
tody = datetime.date.today()
# 2019年
tody.year
# 10月
tody.month
# 24日
tody.day
# 设置时 分 秒
t = datetime.time(14,45,43)
字符串与日期
s = '2010-3-14'
# 字符串 转 年-月-日
t = datetime.datetime.strptime(s, '%Y-%m-%d')
# 年月日 转 字符串 '年月日'
now = datetime.datetime(2019,3,14,0,0)
txt = now.strftime('%Y%m%d')
时间间隔
d = datetime.datetime(2018,3,5,22,33)
birth = datetime.datetime(2000,2,3,22,33)
# 日期差 是个datetime.datetime对象
diff = d - birth
# 差的天数
diff.day
# 差的秒数 (当日)
diff.seconds
# 差的秒数 (全部)
diff.total_seconds()
# 日期和
summ = d + datetime.timedelta(days=100)