【Python自动化训练营】pytest实战(二)作业贴

课后作业:

  • 补全测试用例【 加减乘除】
  • 使用 fixture 装置完成计算机器实例的初始化
  • 改造 pytest 的运行规则 ,测试用例命名以 calc_ 开始,【加, 减 ,乘,除】分别为 calc_add, calc_sub,…
  • 自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例。
  • 封装 add, div 测试步骤到 yaml 文件中

源码地址:

只运行标签为 add 和 div的测试用例

pytest -vs test_calc_all.py -m "add or div"

问题:

解析测试步骤,我是分的2个方法(any_step_add,any_step_div)来分别解析对应的测试步骤,解析到一个方法里,本想加yield可以实现,始终没有实现,不知道咋弄到一个方法里

源码地址:

  • 补全测试用例【加减乘除】——test_Calc_02.py

  • 改造pytest的运行规则,测试用例命名以calc_开始:
    test_Calc_02.py,pytest.ini

  • 自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例。
    pytest -vs test_Calc_02.py -m “add or div”

  • 封装 add, div 测试步骤到 yaml 文件中
    test_configer.py,get_steps.yaml

问题:
1、将测试步骤封装时,如果测试步骤中的测试数据不是同一批,该如何去写入参?
比如,add步骤需要从yaml1中导入数据,div需要从yaml2中导入数据,能否入参都写a,b,c?
2、pytest -vs test_Calc_02.py -m "add or div"这个地方,写到main函数的pytest.main()中不生效

  • 补全测试用例【 加减乘除】
  • 使用 fixture 装置完成计算机器实例的初始化
  • 改造 pytest 的运行规则 ,测试用例命名以 calc_ 开始,【加, 减 ,乘,除】分别为 calc_add, calc_sub,…
  • 自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例。
  • 封装 add, div 测试步骤到 yaml 文件中

源码地址:https://github.com/AZhengW/pytest_or_unittest

前四步没啥问题,最后一步我把封装后的用例整合成一个用例了

作业

  • 补全测试用例【 加减乘除】
  • 使用 fixture 装置完成计算机器实例的初始化
  • 改造 pytest 的运行规则 ,测试用例命名以 calc_ 开始,【加, 减 ,乘,除】分别为 calc_add, calc_sub,…
  • 自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例。
  • 封装 add, div 测试步骤到 yaml 文件中

仓库地址:

https://github.com/llpanyuan/calculator

代码地址:

https://github.com/llpanyuan/calculator/blob/master/testing/test_calc.py

代码地址:

问题:
跟 rex_2020 同学一样,对于add和div测试步骤封装时,因为测试数据不一样,传参不知道有没有好办法?我是把add和div的测试数据都分别读取,感觉这样入参太多了,如果将来加上sub和mul就没法弄了。。。

课后作业:

  • 补全测试用例【 加减乘除】
  • 使用 fixture 装置完成计算机器实例的初始化
  • 改造 pytest 的运行规则 ,测试用例命名以 calc_ 开始,【加, 减 ,乘,除】分别为 calc_add, calc_sub,…
  • 自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例。
  • 封装 add, div 测试步骤到 yaml 文件中

1.补全测试用例【 加减乘除】

calc.py+test_calc.py+test_calc.yml

2.使用 fixture 装置完成计算机器实例的初始化

test_calc_1.py

3.改造 pytest 的运行规则 ,测试用例命名以 calc_ 开始,【加, 减 ,乘,除】分别为 calc_add, calc_sub,…

test_calc_2.py

pytest.ini

4.自动添加标签(add, sub, mul, div四种),只运行标签为 add 和 div的测试用例

conftest.py

pytest xxxx.py -m add div

5.封装 add, div 测试步骤到 yaml 文件中

step.yml+test_calc_3.py

关闭