python 基础:测试单元,数值处理,随机数,日期

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_27295149/article/details/102728014

测试单元

测试单元是测试流程最基本的部分。

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试
  • 回归测试
# 引用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)

猜你喜欢

转载自blog.csdn.net/qq_27295149/article/details/102728014