Пример #1
0
class TestCalc:
    cal = Calculator()

    @pytest.mark.parametrize('a,b,result', divdatas, ids=divids)
    @pytest.mark.run(order=3)
    @pytest.mark.dependency(depends=['test_mult'])
    def test_div(self, a, b, result):
        if b == 0:
            print("除数不能为0")
            return 0
        else:
            assert result == self.cal.div(a, b)

    @pytest.mark.parametrize('a,b,result', adddatas, ids=addids)
    @pytest.mark.run(order=0)
    @pytest.mark.dependency(name='test_add')
    def test_add(self, a, b, result):
        assert result == self.cal.add(a, b)

    @pytest.mark.parametrize('a,b,result', minusdatas, ids=minusids)
    @pytest.mark.run(order=1)
    @pytest.mark.dependency(depends=['test_add'])
    def test_minus(self, a, b, result):
        assert result == self.cal.minus(a, b)

    @pytest.mark.parametrize('a,b,result', multdatas, ids=multids)
    @pytest.mark.run(order=2)
    @pytest.mark.dependency(name='test_mult')
    def test_mult(self, a, b, result):
        assert result == self.cal.mult(a, b)
Пример #2
0
 def test_sub(self,a,b,c):
     """
     减法测试用例
     :param a:
     :param b:
     :param c:
     :return:
     """
     cal = Calculator()
     print(f'\na,b,c的值:{a} - {b} = {c}')
     assert cal.sub(a,b) == c
Пример #3
0
 def test_add(self,a,b,c):
     """
     加法测试用例
     :param a:
     :param b:
     :param c:
     :return:
     """
     cal = Calculator()
     print(f'\na,b,c的值:{a} + {b} = {c}')
     assert cal.add(a,b) == c
Пример #4
0
 def test_mul(self,a,b,c):
     """
     乘法测试用例
     ((Decimal(a) * Decimal(b)).quantize(Decimal('0.00'))
     :param a:
     :param b:
     :param c:
     :return:
     """
     import decimal
     cal = Calculator()
     print(f'\na,b,c的值:{a} * {b} = {c}')
     assert cal.mul(a,b) == c
Пример #5
0
class TestCalculator():
    cal = Calculator()

    def test_add(self):
        assert 2 == self.cal.add(1, 1)

    def test_power(self):
        assert 4 == self.cal.power(2)

    def test_sqrt(self):
        assert 3 == self.cal.sqrt(9)

    def test_mod(self):
        assert 2 == self.cal.mod(10, 4)

    def test_divisibility(self):
        assert 2 == self.cal.divisibility(7, 3)
Пример #6
0
 def test_div(self,a,b,c):
     """
     除法测试用例
     :param a:
     :param b:
     :param c:
     :return:
     """
     with allure.step("实例化"):
         cal = Calculator()
     with allure.step("判断除数是否为0"):
         if b != 0:
             print(f'\na,b,c的值:{a} / {b} = {c}')
             assert cal.div(a,b) == c
         else:
             allure.attach("<body>这是一段html body块</body>", "html测试块", attachment_type=allure.attachment_type.HTML)
             allure.attach.file("../report/photo/a.jpg", name="这是图片", attachment_type=allure.attachment_type.JPG)
             allure.attach("除数不能为0!", attachment_type=allure.attachment_type.TEXT)
             print("除数不能为0!")
Пример #7
0
def test_add():
    cal = Calculator()
    assert 2 == cal.add(1,1)
Пример #8
0
 def setup_method(self):
     self.cal = Calculator()
     print("setup_method")
Пример #9
0
 def setup_class(self):
     print("类级别setup")
     self.calc = Calculator()
Пример #10
0
 def test_add(self):
     cal = Calculator()
     assert cal.add(1, 1) == 2
Пример #11
0
 def test_div(self):
     cal = Calculator()
     assert cal.div(4, 2) == 2
Пример #12
0
def test_add2():
    cal = Calculator()
    assert 3 == cal.add(2, 1)
Пример #13
0
def get_calc():
    print("计算开始")
    calc = Calculator()
    yield calc
    print("计算结束")
Пример #14
0
 def setup(self):
     self.cal = Calculator()
Пример #15
0
def get_calc():
    print("获取计算器实例")
    calc = Calculator()
    return calc
Пример #16
0
class TestCale:
    # 调用被测类
    cal = Calculator()

    @pytest.mark.parametrize('a', yaml.safe_load(open('./number.yml')))
    @pytest.mark.parametrize('b', yaml.safe_load(open('./number.yml')))
    def test_add(self, a, b):
        a = a['a']
        b = b['b']
        try:
            result = a + b
            print(f"\na的值为:{a}")
            print(f'b的值为:{b}')
            print(f'result的值为:{result}')
        except Exception as Exc:
            print(f'\n测试用例异常返回结果为:{Exc}')
            calc_Exc = self.cal.add(a, b)
            print(f'程序异常返回结果为:{calc_Exc}')
            if str(Exc) == str(calc_Exc):
                print('异常检测成功')
                assert True
            else:
                print("异常检测不通过")
                assert False
        else:
            assert result == self.cal.add(a, b)

    @pytest.mark.parametrize('a', yaml.safe_load(open('./number.yml')))
    @pytest.mark.parametrize('b', yaml.safe_load(open('./number.yml')))
    def test_sub(self, a, b):
        a = a['a']
        b = b['b']
        try:
            result = a - b
            print(f'\na的值为:{a}')
            print(f'b的值为:{b}')
            print(f'result的值为{result}')
        except Exception as Exc:
            print(f'\n测试用例异常返回结果为:{Exc}')
            err_Exc = self.cal.sub(a, b)
            print(f'程序异常返回结果为:{err_Exc}')
            if str(Exc) == str(err_Exc):
                print('异常检测成功')
                assert True
            else:
                print('异常检测失败')
                assert False
        else:
            assert result == self.cal.sub(a, b)

    @pytest.mark.parametrize('a', yaml.safe_load(open('./number.yml')))
    @pytest.mark.parametrize('b', yaml.safe_load(open('./number.yml')))
    def test_mul(self, a, b):
        a = a['a']
        b = b['b']
        try:
            result = a * b
            print(f'\na的值为:{a}')
            print(f'b的值为:{b}')
            print(f'result的值为{result}')
        except Exception as Exc:
            print(f'\n测试用例异常返回结果为:{Exc}')
            err_Exc = self.cal.mul(a, b)
            print(f'程序异常返回结果为:{err_Exc}')
            if str(Exc) == str(err_Exc):
                print('异常检测成功')
                assert True
            else:
                print('异常检测失败')
                assert False
        else:
            assert result == self.cal.mul(a, b)

    @pytest.mark.parametrize('a', yaml.safe_load(open('./number.yml')))
    @pytest.mark.parametrize('b', yaml.safe_load(open('./number.yml')))
    def test_div(self, a, b):
        a = a['a']
        b = b['b']
        try:
            result = a / b
            print(f'\na的值为:{a}')
            print(f'b的值为:{b}')
            print(f'result的值为{result}')
        except Exception as Exc:
            print(f'\n测试用例异常返回结果为:{Exc}')
            err_Exc = self.cal.div(a, b)
            print(f'程序异常返回结果为:{err_Exc}')
            if str(Exc) == str(err_Exc):
                print('异常检测成功')
                assert True
            else:
                print('异常检测失败')
                assert False
        else:
            assert result == self.cal.div(a, b)
Пример #17
0
def start():
    print("开始计算")
    cla = Calculator()
    yield
    print("计算结束")
Пример #18
0
import pytest
import yaml

'''
1、使用参数化数据驱动,完成加减乘除测试用例的自动生成
-2、修改测试用例为check_开头,修改测试用例的执行规则,执行所有check_开头和test_开头的测试用例
-3、控制测试用例顺序按照【加-减-乘-除】这个顺序执行,
-4、减法依赖加法, 除法依赖乘法
-5、注册一个命令行参数env,env默认值是test,表示测试环境,另外还有两个值 (dev,st)不同的环境读取不同的数据。
'''
from pythoncode.calc import Calculator

calc = Calculator()
with open("../data/calcdata.yaml") as f:
    datas = yaml.safe_load(f)

    adddatas = datas['add'].values()
    addids = datas['add'].keys()
    subdatas = datas['sub'].values()
    subids = datas['sub'].keys()
    multdatas = datas['mult'].values()
    multids = datas['mult'].keys()
    divdatas = datas['div'].values()
    divids = datas['div'].keys()

class TestCalc:

#加法
    @pytest.mark.add
    @pytest.mark.parametrize(("a, b, result"), adddatas, ids=addids)
    #@pytest.mark.flaky(reruns=5, reruns_delay=2)#设置失败重跑
Пример #19
0
def test_add1():
    cal = Calculator()
    assert 3 == cal.add(1,2)
Пример #20
0
def test_div2():
    cal = Calculator()
    assert cal.div(2, 1) == 2
Пример #21
0
def test_div():
    cal = Calculator()
    assert 1 == cal.div(2,2)
Пример #22
0
 def setup_class(self):
     self.cal = Calculator()
     print("类级别 setup")
Пример #23
0
def test_add4():
    cal = Calculator()
    assert cal.add(3, 4) == 7
Пример #24
0
def get_calc():
    print("开始计算")
    calc = Calculator()
    yield calc
    print("结束计算")
Пример #25
0
 def test_add1(self, a, b, result):
     cal = Calculator()
     assert cal.add(a, b) == result
Пример #26
0
def fix_calc():
    cal = Calculator()
    print("【开始计算】")
    yield cal
    print("【计算结束】")
Пример #27
0
 def test_div(self, a, b, result, open):
     cal = Calculator()
     assert self.cal.div(a, b) == result
Пример #28
0
 def setup_class(self):
     self.cal = Calculator()
Пример #29
0
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pytest
import yaml

from pythoncode.calc import Calculator

cal = Calculator()


def get_testDatas():
    with open(file="./datas/testDatas.yaml", mode="r") as f:
        testDatas = yaml.safe_load(f)
        print(type(testDatas))
        print(testDatas)
        return testDatas


def get_steps():
    with open(file="./datas/steps.yaml", mode="r") as f:
        add_datas = []
        div_datas = []
        stepDatas = yaml.safe_load(f)
        testDatas = get_testDatas()
        for step in stepDatas:
            if step == "add":
                for key in testDatas.keys():
                    if key[:3] == step:
                        add_datas.append(testDatas[key])
            elif step == "div":
                for key in testDatas.keys():
Пример #30
0
 def setup(self):
     self.cal = Calculator()
     print("初始化一个计算机对象")