示例#1
0
class TestCalc(unittest.TestCase):
    def setUp(self) -> None:
        self.calc = Calc()

    def test_add_1(self):
        self.assertEqual(3, self.calc.add(1, 2))

    def test_add_2(self):
        self.assertEqual(0.03, self.calc.add(0.01, 0.02))
示例#2
0
def test_add_many_numbers():
    s = range(100)
    c = Calc()

    res = c.add(*s)

    assert res == 4950
示例#3
0
class TestCalc:
    def setup(self):
        self.calc = Calc()

    '''
    1.正数相加
    2.负数相加
    3.小数相加
    4.0相加    
    '''

    # @pytest.mark.parametrize("a,b,result", [
    #     (1, 2, 3),
    #     (-1, -2, -3),
    #     (0.1, 0.2, 0.3),
    #     (0, 0, 0)
    # ])
    @pytest.mark.parametrize("a,b,result", data())
    def test_add(self, a, b, result):
        assert (self.calc.add(a, b), result)

    '''
    1.正数相除
    2.负数相除
    3.小数相除
    4.除以0
    '''

    @pytest.mark.parametrize("a,b,result", [
        (1, 2, 0.5),
        (-1, -2, 0.5),
        (0.1, 0.2, 0.5),
        (1, 0, "error")
    ])
    def test_div(self, a, b, result):
        assert (self.calc.div(a, b), result)
示例#4
0
def test_add_two_numbers():
    c = Calc()

    res = c.add(4, 5)

    assert res == 9
示例#5
0
def test_add_three_numbers():
    c = Calc()

    res = c.add(4, 5, 6)

    assert res == 15
示例#6
0
class TestCalc:
    data = get_data()
    print(data)

    @classmethod
    def setup_class(cls):
        print("开始计算")

    @classmethod
    def teardown_class(cls):
        print("计算结束")

    def setup(self):
        self._calc = Calc()
        print("开始计算")

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

    @pytest.mark.parametrize('x, y, except_result',
                             data['add']['datas'],
                             ids=data['add']['ids'])
    def test_add(self, x, y, except_result):
        print(f"a={x} , b ={y} ,result={except_result}")
        result = self._calc.add(x, y)
        round(result, 2)
        assert except_result == result

    @pytest.mark.parametrize('x, y, except_result',
                             data['subtract']['datas'],
                             ids=data['subtract']['ids'])
    def test_subtract(self, x, y, except_result):
        result = self._calc.subtract(x, y)
        round(result, 2)
        assert except_result == result

    @pytest.mark.parametrize('x, y, except_result',
                             data['multiply']['datas'],
                             ids=data['multiply']['ids'])
    def test_multiply(self, x, y, except_result):
        result = self._calc.multiply(x, y)
        round(result, 2)
        assert except_result == result

    @pytest.mark.parametrize('x, y, except_result',
                             data['divide']['datas'],
                             ids=data['divide']['ids'])
    def test_divide(self, x, y, except_result):

        if y == 0:
            try:
                self._calc.divide(x, y)
            except ZeroDivisionError as e:
                print("You can't divide by zero")
        else:
            result = self._calc.divide(x, y)
            round(result, 2)
            assert except_result == result

    if __name__ == '__main__':
        pytest.main(['-v', '-s'])