pytest分开断言一个文件中的多个关键字,关键字存储在字典中
时间: 2024-05-12 13:12:46 浏览: 71
你可以使用pytest的`parametrize`装饰器来实现这个目的。具体步骤如下:
1. 将关键字存储在字典中。
2. 定义一个函数,接收一个关键字作为参数,并使用`assert`语句验证关键字是否存在于文件中。
3. 使用`parametrize`装饰器在测试用例中传递多个关键字作为参数,并调用上述函数进行断言。
以下是示例代码:
```python
import pytest
keywords = {'apple': 'fruits.txt', 'carrot': 'vegetables.txt'}
def test_file_contains_keyword(keyword):
with open(keywords[keyword], 'r') as f:
content = f.read()
assert keyword in content
@pytest.mark.parametrize('keyword', keywords.keys())
def test_keywords_in_files(keyword):
test_file_contains_keyword(keyword)
```
在这个例子中,我们首先定义了一个包含关键字和文件名的字典`keywords`。然后,我们定义了一个名为`test_file_contains_keyword`的函数,它接受一个关键字作为参数,并在相应的文件中查找该关键字。最后,我们使用`parametrize`装饰器来传递多个关键字作为参数,并调用`test_file_contains_keyword`函数进行断言。
阅读全文