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
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