前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python参数化测试

python参数化测试

作者头像
用户7466307
发布2020-06-16 17:07:54
5700
发布2020-06-16 17:07:54
举报

参数化测试的目的是针对多组参数运行测试。我们可以通过@ pytest.mark.parametrize做到这一点。

我们将在下面的示例中看到这一点。在这里,我们将3个参数传递给测试方法。此测试方法将添加前两个参数,并将其与第三个参数进行比较。

使用以下代码创建测试文件test_addition.py

import pytest
@pytest.mark.parametrize("input1, input2, output",[(5,5,10),(3,5,12)])
def test_add(input1, input2, output):
  assert input1+input2 == output,"failed"

这里的测试方法接受3个参数-输入1,输入2,输出。它将输入1和输入2相加并与输出进行比较。

让我们通过py.test -k test_add -v运行测试并查看结果

test_addition.py::test_add[5-5-10] PASSED                                                                                                                                                                                              
test_addition.py::test_add[3-5-12] FAILED                                                                                                                                                                                              
============================================== FAILURES ==============================================
__________________________________________ test_add[3-5-12] __________________________________________
input1 = 3, input2 = 5, output = 12
    @pytest.mark.parametrize("input1, input2, output",[(5,5,10),(3,5,12)])
    def test_add(input1, input2, output):
>     assert input1+input2 == output,"failed"
E    AssertionError: failed
E    assert (3 + 5) == 12
test_addition.py:5: AssertionError

您可以看到测试运行了2次-一次检查5 + 5 == 10,另一次检查3 + 5 == 12

test_addition.py::test_add[5-5-10]通过

test_addition.py::test_add[3-5-12]失败

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档