import textwrap
import math
import pytest
def m1(x, y):
return math.sqrt(x * x + y * y)
def test_m1():
assert m1(3, 4) == 5
def test_m2():
# 浮点数比较方法
# 添加求绝对值函数 abs, 这样浮点数计算误差小于0.0001时,表示2者相等
assert abs(0.1+0.2)-0.3 < 0.000001
def test_m3():
# pytest提供的approx 函数,解决2个浮点数比较
assert 0.1+0.2 == pytest.approx(0.3)
def test_m4():
assert 0.1+0.25 == pytest.approx(0.3)
def test_m5():
desc1 = "1231 23 123123123"
desc2 = "123123123123123"
assert desc1 == textwrap.dedent(desc2)
# 防御性编程
def get_equipment(name):
assert name == 't1'
return ['a', 'b', 'c']
def test_get_equipment():
ex_ret = ['a', 'b']
assert get_equipment('t1') == ex_ret, "和ex_ret不一致"
# 测试返回类型是否一致
def test_isinstance():
task_id = 10
assert isinstance(task_id, int)
对于浮点数比较-常见
数据类型比较-调试可用