SONiC pytest用例开发培训课件.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * 第 *页 / 共 30页 SONiC pytest用例开发培训 部门/作者 第 *页 / 共 26页 课程目的 了解pytest基本概念知识 pytest 用例执行 常用的基本库操作 用例基本框架 新增用例 日志分析 第 *页 / 共 26页 pytest基本知识概念 简介 pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。 pytest的特征如下: 自动识别测试用例。 简单的断言表达:assert 表达式即可。 有测试会话、测试模块、测试类、测试函数级别的fixture。 有非常丰富的插件,目前在600+,比如allure插件。 测试用例不需要封装在测试类当中。(unittest中需要自定义类并继承TestCase) 第 *页 / 共 26页 pytest基本知识概念 pytest?收集用例规则 按照:目录-文件-函数/类 默认从当前目录中搜集测试用例,即在哪个目录下运行pytest? 命令,则从哪个目录当中搜索 搜索规则:进入目录后,在按照搜索规则搜索用例 ? ? ? 1、符合命名规则? ? test_*.py? ?或者? ?*_test.py? ?的文件   2、以? ?test_? ?开头的函数名   3、以 Test? 开头的测试类(没有? ?_init_? 函数)当中,以? test_? 开头的函数 第 *页 / 共 26页 pytest基本知识概念 测试用例执行状态 测试用例执行完成后,每个测试用例都有自己的状态,常见的状态有: passed:测试用例通过 error:如果在 fixture 里面断言失败了,那就是error;还有一种情况也会出现error,那就是自己写的代码有问题(比如传参异常),代码本身报错 failed:如果在test_用例里面断言失败,或者主动抛出异常会导致failed xfail:预期失败,加了@pytest.mark.xfail();代码有异常,且和raised的异常类匹配,所以是xfail(算测试通过的一种,表示符合期望捕捉到的异常),并不算failed;如果和raised的异常类不匹配,则是failed 如果一份测试报告中,error的测试用例数量越多,说明测试用例质量越差 第 *页 / 共 26页 pytest 用例执行 SONiC用例执行 pytest用例实际位于管理容器controller下,目录为/var/johnar/sonic-mgmt/tests 通常使用tests/run_test.sh 脚本来执行用例 常见参数如下: -h?-??:?获取帮助 -d?<dut?name>??:?指定DUT 名称?(多个可以逗号分隔)(默认值:与testbed文件中的testbed关联的 DUT 名称) -n?<testbed>???:?指定testbed名?(*) -t <topology> : 指定拓扑: t0|t1|any|combo 比如 t0,any (*) -f?<tb?file>???:?指定testbed文件(默认:?testbed.csv) -e <parameters>: 指定额外参数(pytest直接参数) 第 *页 / 共 26页 pytest 用例执行 用例执行举例: 1.运行某个单独测试用例 ./run_tests.sh -d <dut_name> -n <testbed_name> [-s ] -u -c platform_tests/test_link_flap.py? ? ? ? ? ? ? ? 执行指定test_link_flap.py测试用例 2.运行文件夹下的测试用例 ./run_tests.sh -d <dut_name> -n <testbed_name> -u -c "snmp/test_*.py" -s "snmp/test_snmp_cpu.py" 执行snmp下的所有脚本,但是跳过脚本snmp/test_snmp_cpu.py 执行的测试用例必须双引号,不然可能运行错误的测试用例 3.运行测试用例列表 ./run_tests.sh -d <dut_name> -n <testbed_name> [-s ] -u -c "platform_tests/test_link_flap.py?platform_tests/test_reboot.py::test_c

文档评论(0)

Mr.Red + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档