Exemplo n.º 1
0
 def setup_class(self):
     self.calc = Calculator()
     print("初始化数据")
Exemplo n.º 2
0
 def setup_class(self):
     print("计算开始")
     self.calc = Calculator()
Exemplo n.º 3
0
 def setup_class(self):
     # 实例化类,生成类的对象
     self.calc = Calculator()
Exemplo n.º 4
0
 def setup_class(self):
     self.cal = Calculator()
     print("测试开始")
Exemplo n.º 5
0
 def setup_class(self):
     print("开始计算")
     self.calc = Calculator()
Exemplo n.º 6
0
def cal():
    print('开始计算')
    calcula = Calculator()
    yield calcula
    print('计算结束')
Exemplo n.º 7
0
class TestCalc:
    def setup_class(self):
        print("计算开始")
        self.calc = Calculator()

    def teardown_class(self):
        print("计算结束")

    @pytest.mark.parametrize(
        'a,b,expect',
        [[1, 1, 2], [100, 100, 200], [-1, -1, -2], [1, 0, 1], [500, 1, 501],
         [2, 800, 802], [-2, 1, -1], [2, -3, -1], [-2, 0, -2], [0, -3, -3]],
        ids=[
            'int_case', 'bignum_case', 'minus_case', 'zero_case',
            'bignum_int_case', 'int_bignum_case', 'minus_int_case',
            'int_minus_case', 'minus_zero_case', 'zero_minus_case'
        ])
    def test_add(self, a, b, expect):
        # calc = Calculator()
        result = self.calc.add(a, b)
        assert result == expect

    @pytest.mark.parametrize(
        'a,b,expect',
        [[0.1, 0.1, 0.2], [0.2, 1, 1.2], [2, 0.3, 2.3], [-1.2, 1, -0.2],
         [2, -4.2, -2.2], [1.2, 0, 1.2], [0, 2.7, 2.7]],
        ids=[
            'float_case', 'float_int_case', 'int_float_case',
            'minusfloat_int_case', 'int_minusfloat_case', 'float_zero_case',
            'zero_float_case'
        ])
    def test_add_float(self, a, b, expect):
        # calc = Calculator()
        result = self.calc.add(a, b)
        assert round(result, 2) == expect

    # def test_add1(self):
    #     # calc = Calculator()
    #     result = self.calc.add(100, 100)
    #     assert result == 200
    #
    # def test_add2(self):
    #     # calc = Calculator()
    #     result = self.calc.add(0.1, 0.1)
    #     assert result == 0.2

    @pytest.mark.parametrize(
        'a,b,expect',
        [[4, 2, 2], [0, 2, 0], [1, 0, 0], [6, 8, 0], [-2, -1, 2], [-3, 1, -3],
         [6, -2, -3], [6.4, 8, 0], [8, 6.4, 1], [-7.4, 2, -3], [3, -2.4, -1],
         [1.4, 2.4, 0], [-2.3, -3.4, 0]],
        ids=[
            '整除', '被除数为0', '除数为0', '非整除', '两个负数相除', '被除数为负数_除数为正整数',
            '被除数为正整数_除数为负数', '被除数为小数_除数为正整数', '被除数为正整数_除数为小数',
            '被除数为负小数_除数为正整数', '被除数为正整数_除数为负小数', '两个小数相除', '两个负小数相除'
        ])
    def test_div(self, a, b, expect):
        # calc = Calculator()
        if b == 0:

            with pytest.raises(ZeroDivisionError) as e:
                self.calc.div(a, b)
                # 断言异常 type
                assert e.type == ZeroDivisionError
                # 断言异常 value,value 是 tuple 类型
                assert "division by zero" in str(e.value)
        else:
            result = self.calc.div(a, b)
            assert int(result) == expect
Exemplo n.º 8
0
def test_1(a, b, expect):
    calc = Calculator()
    assert expect == calc.div(a, b)
Exemplo n.º 9
0
 def test_mul(self,a,b,expected):
     result = Calculator().mul(a, b)
     if isinstance(result, float):
         result = round(result, 2)
     assert result == expected
Exemplo n.º 10
0
 def setup_class(self):
     # 实例化类,生成类的对象
     self.calc = Calculator()
     print("\nsetup_class:所有计算开始")
Exemplo n.º 11
0
def get_instance():
    print("开始计算")
    calc: list = Calculator()
    yield calc
    print("结束计算")
Exemplo n.º 12
0
 def setup_class(self):
     print("start")
     self.cal = Calculator()
Exemplo n.º 13
0
def get_calc():
    print("计算开始")
    calc = Calculator()
    yield calc
    print("计算结束")
 def setup_class(self):
     self.calc = Calculator()
     print('Start calculation...')
Exemplo n.º 15
0
 def test_div(self, a, b, expect):
     assert expect == Calculator.div(a, b)
Exemplo n.º 16
0
def test_div(a,b,expected):
    result = Calculator().div(a, b)
    if isinstance(result, float):
        result = round(result, 2)
    assert result == expected
Exemplo n.º 17
0
 def setup_class(self):
     self.cal = Calculator()
     print("开始计算")
 def setup_class(self):
     self.calc = Calculator()
     print("开始测试:加、减、乘、除")
Exemplo n.º 19
0
 def setup_class(self):
     self.cal = Calculator()
Exemplo n.º 20
0
 def setup_class(self):
     self.calc = Calculator()
     print('【开始计算】')
Exemplo n.º 21
0
with open('./datas/calc.yml', encoding='utf-8') as f:
    datas = yaml.safe_load(f)
    addids = datas['add'].keys()
    adddatas = datas['add'].values()

    subids = datas['sub'].keys()
    subdatas = datas['sub'].values()


def get_steps():
    with open('./datas/steps.yml') as f:
        steps = yaml.safe_load(f)
    return steps


cal = Calculator()


def steps(a, b, result):
    steps1 = get_steps()
    for step in steps1:
        if 'add' == step:
            assert result == cal.add(a, b)
        elif 'add1' == step:
            assert result == cal.add1(a, b)
        elif 'add2' == step:
            assert result == cal.add2(a, b)


class TestCal():
    def setup_class(self):
Exemplo n.º 22
0
 def setup_class(self):
     self.calc = Calculator()
     print('setup_class')
Exemplo n.º 23
0
def get_calc():
    print("开始计算")
    calc = Calculator()
    yield calc
    print("结束计算")
Exemplo n.º 24
0
 def test_add(self, a, b, expect):
     assert expect == Calculator.add(a, b)
Exemplo n.º 25
0
 def teardown_class(self):
     print("结束计算")
     self.calc = Calculator()
Exemplo n.º 26
0
 def test_minus(self, a, b, expect):
     assert expect == Calculator.minus(a, b)
Exemplo n.º 27
0
def calculator_fixture():
    calc = Calculator()
    print("开始计算")
    yield calc
    print("计算结束")
Exemplo n.º 28
0
 def test_mul(self, a, b, expect):
     assert expect == Calculator.mul(a, b)
Exemplo n.º 29
0
 def setup_class(self):
     print("\n开始计算")
     # 实例化计算器的类
     self.cal = Calculator()
Exemplo n.º 30
0
class TestCalc:

    def setup_class(self):
        print("计算开始")
        self.calc = Calculator()

    def teardown_class(self):
        print("计算结束")

    # @pytest.mark.parametrize('a,b,expect',[
    #     [1,1,2],[100,100,200],[0.1,0.1,0.2],[-1,-1,-2],
    #     [1,0,1]
    # ],ids=['int_case','bignum_case','float_case','minus_case','zero_case'])
    @pytest.mark.parametrize('a,b,expect',get_datas()[0]
                             ,ids=get_datas()[1])
    def test_add(self,a,b,expect):
        #calc = Calculator() #实例化被测类
        result = self.calc.add(a,b) #调用方法
        assert result == expect #断言
    #
    # def test_add1(self):
    #     test_data = [[1,1,2],[100,100,200],[0.1,0.1,0.2],[-1,-1,-2],
    #     [1,0,1]]
    #     for i in range(1,len(test_data)):
    #         #calc = Calculator() #实例化被测类
    #         result = self.calc.add(test_data[i][0],test_data[i][1]) #调用方法
    #         assert result == test_data[i][2] #断言
        #
    # def test_add2(self):
    #     #calc = Calculator()  # 实例化被测类
    #     result = self.calc.add(0.1, 0.1)  # 调用方法
    #     assert result == 0.2  # 断言

    @pytest.mark.parametrize('a,b,expect',[
        [2,3,-1],[0.3,0.2,0.1],[3,2,1]],
        ids=['minus_case','float_case','int_case'])
    def test_sub(self,a,b,expect):
        result = self.calc.sub(a,b)
        assert result == expect
    #
    @pytest.mark.parametrize('a,b,expect',[
        [2,3,6],[0.2,0.3,0.06],[-2,-1,2],[-2,1,-2],[0,-2,0]],
        ids=['int_case','float_case','minus_minus_case','minus_positive_case','zero_case'])
    def test_mul(self,a,b,expect):
        result = self.calc.mul(a,b)
        assert result == expect
    #
    @pytest.mark.parametrize('a,b,expect',[
        [0.1,0],[10, 0]
    ])
    def test_div_zero(self,a,b,expect):
        with pytest.raises(ZeroDivisionError):
            self.calc.div(a,b)
    #
    # def test_add_steps(self):
    #     a = 1
    #     b = 2
    #
    #     steps("./steps/add_steps",)
        # assert 2 == self.calc.add(1,1)
        # assert 3 == self.calc.add1(1,2)
        # assert 0 == self.calc.add1(-1,1)