请写出add,substract,multiply,divide,square的参数化测试程序
时间: 2023-09-21 15:06:28 浏览: 85
一个关于多项式加减乘除的程序
好的,以下是参数化测试程序的代码:
```python
import pytest
# add函数的参数化测试
@pytest.mark.parametrize("a,b,result", [(1, 2, 3), (-1, -2, -3), (0, 0, 0)])
def test_add(a, b, result):
assert a + b == result
# subtract函数的参数化测试
@pytest.mark.parametrize("a,b,result", [(1, 2, -1), (-1, -2, 1), (0, 0, 0)])
def test_subtract(a, b, result):
assert a - b == result
# multiply函数的参数化测试
@pytest.mark.parametrize("a,b,result", [(1, 2, 2), (-1, -2, 2), (0, 0, 0)])
def test_multiply(a, b, result):
assert a * b == result
# divide函数的参数化测试
@pytest.mark.parametrize("a,b,result", [(4, 2, 2), (-4, -2, 2), (0, 2, 0)])
def test_divide(a, b, result):
assert a / b == result
# square函数的参数化测试
@pytest.mark.parametrize("a,result", [(2, 4), (-2, 4), (0, 0)])
def test_square(a, result):
assert a ** 2 == result
```
以上代码中,我们使用了`@pytest.mark.parametrize()`装饰器来对每个函数进行参数化测试。其中,第一个参数是一个元组,每个元组表示一个测试用例,元组中的第一个值是第一个参数,第二个值是第二个参数,第三个值是预期的结果。在测试函数内部,我们可以使用这些参数进行测试并验证结果是否符合预期。
阅读全文