コード例 #1
0
ファイル: test_cal.py プロジェクト: Lindally/pytestProject
class TestCalc:

    # 定义类开始要做的操作:实例化一个计算器
    def setup_class(self):
        print("开始计算")
        self.cal = Calculator()

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

    # 测试加法计算器
    # 给加法计算器添加一个标签
    @pytest.mark.search
    # 参数化,可以实现生成多条测试用例,即便有测试用例失败了,其他测试用例也可以正常执行,而不会中断执行。
    @pytest.mark.parametrize(
        "a,b,result", [[1, 1, 2], [100, 200, 300], [3, 4, 8], [200, 200, 400]])
    #获取yaml文件的数值
    def get_datas(self):
        with open("./datas/calc.yml") as f:
            self.datas = yaml.safe_load(f)
            print("datas")
            return self.datas

    def test_add(self, a, b, result):
        print(f"a = {a},b = {b},result = {result}")
        # cal = Calculator()
        assert result == self.cal.add(a, b)

    # 测试减法计算器
    # 给除法计算器添加一个标签
    @pytest.mark.login
    def test_div(self):
        # cal = Calculator()
        assert 2 == self.cal.div(4, 2)
コード例 #2
0
class TestCalc:

    # 可以将初始化放到这里来,然后测试用例使用
    def setup_class(self):
        self.calc = Calculator()

    def setup(self):
        print("开始计算")

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

    @pytest.mark.parametrize("a,b,result", yaml.safe_load(open("../data/calculator_add.yaml")))
    def test_add(self, a, b, result):
        """
        加法测试用例
        """
        assert self.calc.add(a, b) == result
        pass

    # @pytest.mark.login
    @pytest.mark.parametrize("a,b,result", yaml.safe_load(open("../data/calculator_div.yaml")))
    def test_div(self, a, b, result):
        """
        加法测试用例,添加了异常逻辑判断,除数为0捕获异常则通过
        """
        if b == 0:
            try:
                assert self.calc.div(a, b) == result
                print("除 0 异常数据未正常异常抛出")
                raise Exception("除 0 异常数据未正常异常抛出")
            except ZeroDivisionError as e:
                print("除 0 异常数据异常抛出")
        else:
            assert self.calc.div(a, b) == result
        pass
コード例 #3
0
class TestCalc:
    add_datas: list = get_datas("add")
    div_datas: list = get_datas("div")

    # 前置条件
    def setup_class(self):
        print("开始计算")
        self.calc = Calculator()

    # 后置条件
    def teardown_class(self):
        print("结束计算")

    @pytest.mark.parametrize("a, b, result", add_datas[0], ids=add_datas[1])
    def test_add(self, a, b, result):
        print(f"a={a} , b ={b} ,result={result}")
        assert result == self.calc.add(a, b)

    # def test_add1(self):
    # datas = [[1, 1, 2], [100, 400, 300], [1, 0, 1]]
    # for data in datas:
    #     print(data)
    #     assert data[2] == self.calc.add(data[0], data[1])

    # 相除功能
    @pytest.mark.parametrize("a, b, result", div_datas[0], ids=div_datas[1])
    def test_div(self, a, b, result):
        if b == 0:
            print("除数不能为0")
            assert result == self.calc.div(a, b)
        elif a or b is not int:
            print("请输入数字")
            assert result == self.calc.div(a, b)
        else:
            print(f"a={a} , b ={b} ,result={result}")
            assert result == self.calc.div(a, b)
コード例 #4
0
class TestCalc:
    datas: list = get_datas()

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

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

    #相加功能
    @pytest.mark.parametrize("a,b, result", datas[0], ids=datas[1])
    def test_add(self, a, b, result):
        assert result == self.calc.add(a, b)

    # "a,b,result", datas[2]
    #相除功能
    @pytest.mark.parametrize("a,b, result", datas[2], ids=datas[3])
    def test_div(self, a, b, result):
        if b != 0:
            assert result == self.calc.div(a, b)
        elif b == 0:
            with pytest.raises(ZeroDivisionError):
                self.calc.div(a, b)
コード例 #5
0
class Test_Cala:
    def setup_class(self):
        print("验证开始啦!!!")

    def teardown_class(self):
        print("验证结束啦!!!")

    def setup(self):
        print("开始计算")
        self.cal = Calculator()

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

    @pytest.mark.parametrize(["a", "b", "expect"],
                             get_data()[0],
                             ids=get_data()[1])
    def test_add(self, a, b, expect):
        add = self.cal.add(a, b)
        print(add)
        assert add == expect

    @pytest.mark.parametrize(["a", "b", "expect"],
                             get_data()[2],
                             ids=get_data()[3])
    def test_sub(self, a, b, expect):
        sub = self.cal.sub(a, b)
        print(sub)
        assert sub == expect

    @pytest.mark.parametrize(["a", "b", "expect"],
                             get_data()[4],
                             ids=get_data()[5])
    def test_mul(self, a, b, expect):
        mul = self.cal.mul(a, b)
        print(mul)
        assert mul == expect

    @pytest.mark.parametrize(["a", "b", "expect"],
                             get_data()[6],
                             ids=get_data()[7])
    def test_div(self, a, b, expect):
        div = self.cal.div(a, b)
        print(div)
        assert div == expect
コード例 #6
0
class TestCalc():
    datas: list=get_datas()

    #前置条件
    def setup_class(self):
        print("开始计算")
        self.calc=Calculator()

    # 后置条件
    def teardown_class(self):
        print("结束计算")

    @pytest.mark.parametrize("a,b,result",datas[0],ids=datas[1])
    def test_add(self,a,b,result):
        print(f"a={a},b={b},result={result}")
        assert result==self.calc.add(a,b)

    @pytest.mark.parametrize("a,b,result", datas[2], ids=datas[3])
    def test_div(self, a, b, result):
        print(f"a={a},b={b},result={result}")
        assert result == self.calc.div(a, b)
コード例 #7
0
class TestCalc:
    datas1: list = get_datas1()
    datas2: list = get_datas2()

    # 前置条件
    def setup_class(self):
        print("开始计算")
        self.calc = Calculator()

    # 后置条件
    def teardown_class(self):
        print("结束计算")

    #测试相加功能
    @pytest.mark.parametrize("a, b, result", datas1[0], ids=datas1[1])
    def test_add(self, a, b, result):
        print(f"a={a} , b ={b} ,result={result}")
        assert result == self.calc.add(a, b)

    #测试相除功能
    @pytest.mark.parametrize("a, b, result", datas2[0], ids=datas2[1])
    def test_div(self, a, b, result):
        print(f"a={a} , b={b}, result={result}")
        assert result == self.calc.div(a, b)