python - 如何使用不同的参数多次运行 TestClass?
问题描述
我正在尝试解决我在 PyTest 中遇到的一个问题。我正在尝试创建 PyTest,它将使用不同的参数多次运行一个 TestClass。我知道我可以使用@pytest.mark.parametrize
,但是测试顺序有问题。
当我@pytest.mark.parametrize
这样使用时,测试的顺序是:
- 测试1[参数1]
- 测试1[参数2]
- 测试2[参数1]
- 测试2[参数2]
我正在寻找一些将按此顺序运行测试的解决方案:
- 测试1[参数1]
- 测试2[参数1]
- 测试1[参数2]
- 测试2[参数2]
感谢您的任何建议!
解决方案
原则上,提供给参数化的测试数据的顺序应该无关紧要。因此,如果您此时正是您所需要的:即执行的顺序很重要,那么您的测试应该明确说明这一点。例如
@pytest.mark.parametrize("data_1, data_2", [
(...),
(...)
])
def my_test(data_1, data_2):
"""
Explain what test is about.
"""
# Step 1 - Do something first with data_1:
...
# Step 2 - Do something next with data_2:
...
推荐阅读
- javascript - 以角度4将输入字段数据发送到php脚本
- mysql - Excel VBA macos中QueryTable创建的范围名称
- android - 即使数据保持不变,从 LiveData 加载后 FastAdapter 也会闪烁
- html - 仅 CSS 的自动建议?
- c++ - 打印数字图案
- javascript - 使用 Jquery 对数组和元素进行排序
- android - iOS 独立应用程序上的 PWA 登录第三方
- typescript - 如何删除角度5中的选定或所有复选框
- xamarin.forms - 我可以通过非 http(s) URL 启动我的跨平台应用程序吗?
- java - JFileChooser Buttons CustomisationsGradient Paint for OptionPane