python - 一次用多个标记标记 test_
问题描述
我需要用很多标记来标记测试,并且想避免
@pytest.mark.A
@pytest.mark.B
@pytest.mark.C
@pytest.mark.D
@pytest.mark.E
有没有办法用某种列表或数组来标记测试,也许会产生这种影响?
my_markers = ["A", "B", "C", "D", "E"]
@pytest.mark.*my_markers
解决方案
如果不出意外,一个简单的自定义装饰器可以处理这个问题。
def add_marks(*args):
def _(f):
for mark in args:
f = getattr(pytest.mark, mark)(f)
# f = pytest.Mark(mark)(f) ?
return f
return _
@add_marks("A", "B", "C", "D", "E")
def test_foo():
...
(写完之后,我看到这基本上是一个pytest.mark
特定的作曲家 a là https://stackoverflow.com/a/45517876/1126841。)
推荐阅读
- android - 从 Recyler Adaper 访问 ViewModel 的正确方法
- ruby - 在 Ruby 中收听 Amazon Kinesis Data Streams 的最佳方式是什么?
- javascript - 如何使用javascript或react删除上传到s3的文件?
- matlab - matlab表面图中的刻度线
- javascript - 在表单上发布请求并进行验证
- sql - 优化动态选择表或其他的视图
- fetch - react, fetch, multer 上传时损坏的文件
- javascript - 对象值循环
- typescript - 使用 NuxtJS 和 vuex-module-decorators 的动态 vuex 存储模块
- google-bigquery - 如何从 BigQuery 表的一个分区中获取一些数据并插入到下一个分区?