Exemple #1
0
class TestCalc:
    def setup(self):
        self.calc = Calc()

    # @pytest.mark.demo
    # @pytest.mark.second
    def test_add(self):
        result = self.calc.add(1, 2)
        print(result)
        assert 3 == result

    @pytest.mark.parametrize('data1, data2, expect',
                             yaml.safe_load(open('datas/add1.yml')))
    def test_add_1(self, data1, data2, expect):
        steps1 = steps()
        for step in steps1:
            print(f"step ==== > {step}")
            if 'add' == step:
                result = self.calc.add(data1, data2)
            elif 'add1' == step:
                result = self.calc.add1(data1, data2)

            print(result)
            assert expect == result

        # result = self.calc.add(data1, data2)
        # print(result)
        # assert expect == result
        #
        # result1 = self.calc.add1(data1, data2)
        # print(result1)
        # assert expect == result1

    # @pytest.mark.run(order=-1)
    def test_div(self):
        # self.calc = Calc()
        result = self.calc.div(2, 2)
        assert 1 == result
Exemple #2
0
class TestParametrize:
    def setup(self):
        self.calc = Calc()
        # self.yaml_lode = yaml_load_data()

    @pytest.mark.add
    @pytest.mark.parametrize('a, b, expect', yaml.safe_load(open('../datas/add.yml')))
    def test_parametrize_1(self, a, b, expect):
        print('\n测试函数1测试数据为:{}+{}={}'.format(a, b, expect))
        result = self.calc.add(a, b)
        assert result == expect

    # 按测试步骤执行
    @pytest.mark.parametrize('a, b, expect', yaml.safe_load(open('../datas/add.yml')))
    def test_steps_1(self, a, b, expect):
        steps1 = steps()
        for step in steps1:
            print(f"step ====> {step}")
            if 'add' == step:
                result = self.calc.add(a, b)
            elif 'add1' == step:
                result = self.calc.add1(a, b)
            print('\n测试函数1测试数据为:{}+{}={}'.format(a, b, expect))
            assert result == expect

    # @pytest.mark.run(order=2)
    # @pytest.mark.parametrize('a, b, expect', yaml.safe_load(open('../datas/add.yml')))
    # def test_parametrize_2(self, a, b, expect):
    #     print('\n测试函数2数据为:{}/{}={}'.format(a, b, expect))
    #     result = self.calc.div(a, b)
    #     assert result == expect

    @pytest.mark.run(order=1)  # mark.run(order=1)进行排序,同时有可以使用pytest.mark.run.first
    @pytest.mark.parametrize('a', yaml.safe_load(open('../datas/add.yml')))
    def test_01(self, a):
        return a