@Parameterized
时间: 2023-08-14 20:05:36 浏览: 180
Parameterized Algorithms
@Parameterized是一个注解,用于在测试函数中对参数进行参数化。它可以让我们在测试函数中使用不同的参数来执行多个测试用例。有几种不同的使用方式可以实现参数化,如下所示:
方式一:
```python
@parameterized.expand([(1, 1, 2), (1, 0, 1), (0, 0, 0)])
def test_add(self, x, y, expect):
pass
```
方式二:
```python
data = [(1, 1, 2), (1, 0, 1), (0, 0, 0)]
@parameterized.expand(data)
def test_add(self, x, y, expect):
pass
```
方式三:
```python
def build_data():
return [(1, 1, 2), (1, 0, 1), (0, 0, 0)]
@parameterized.expand(build_data)
def test_add(self, x, y, expect):
pass
```
通过使用@Parameterized注解和@parameterized.expand装饰器,我们可以为测试函数的参数提供多个不同的值,从而实现参数化测试。这在需要重复测试多个参数组合的情况下非常有用,可以减少代码的重复编写。[1] [2] [3]
阅读全文