川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

简易计算器测试用例用Pytest最终实现方式

作者:川石学院 日期:2021-11-10 11:47:07 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就来谈谈关于软件测试中的“简易计算器测试用例用Pytest最终实现方式”。

简易计算器测试用例用Pytest最终实现方式(图1)

  利用以上的各种方法,优化了最后简易计算器测试用例脚本,代码如下。

  案例2-18:用Pytest实现简易计算器的测试的最终代码。

  #coding=utf-8

  import Pytest

  from Util import util

  from Calculator import calculator

  import allure

  @Pytest.fixture(params=[{'first':4,"second":2,"result":2},{'first':2,"second":4,"result":-2},{'first':4,"second":4,"result":0}])

  def subs_provider(request):

  return request.param

  @Pytest.fixture(params=[{'first':4,"second":2,"result":8},{'first':4,"second":-2,"result":-8},{'first':-4,"second":2,"result":-8},{'first':-4,"second":-2,"result":8}])

  def multiply_provider(request):

  return request.param

  class TestCalculator:

  def setup_class(self):

  print("测试开始")

  @allure.feature('test_module_Calculator')

  @allure.story('test_story_01')

  @allure.severity('blocker')

  @allure.issue("http://www.jila.com")

  @allure.testcase("http://www.testlink.com")

  def test_base(self):

  """

  用例描述:测试加、减、乘、除基本功能

  """

  j=calculator(4,2)

  util.AssertEqual(j.myadd(),6)

  util.AssertEqual(j.mysubs(),2)

  util.AssertEqual(j.mymultiply(),8)

  util.AssertEqual(j.mydivide(),2)

  @allure.feature('test_module_Calculator')

  @allure.story('test_story_01')

  @allure.severity('Normal')

  @allure.issue("http://www.jila.com")

  @allure.testcase("http://www.testlink.com")

  def test_max_number(self):

  """

  用例描述:测试很大的数字

  """

  j=calculator(9223372036854775808,9223372036854775808)

  util.AssertEqual(j.mymultiply(),85070591730234615865843651857942052864)

  @allure.feature('test_module_Calculator')

  @allure.story('test_story_01')

  @allure.severity('Critical')

  @allure.issue("http://www.jila.com")

  @allure.testcase("http://www.testlink.com")

  def test_subs(self,subs_provider):

  """

  用例描述:测试商为正数、负数和0

  """

  j=calculator(subs_provider["first"],subs_provider["second"])

  util.AssertEqual(j.mysubs(),subs_provider["result"])

  @allure.feature('test_module_Calculator')

  @allure.story('test_story_01')

  @allure.severity('Critical')

  @allure.issue("http://www.jila.com")

  @allure.testcase("http://www.testlink.com")

  def test_multiply(self,multiply_provider):

  """

  用例描述:测试正数乘正数、正数乘负数、负数乘正数和负数乘负数

  """

  j=calculator(multiply_provider["first"],multiply_provider["second"])

  util.AssertEqual(j.mymultiply(),multiply_provider["result"])

  @allure.feature('test_module_Calculator')

  @allure.story('test_story_01')

  @allure.severity('Critical')

  @allure.issue("http://www.jila.com")

  @allure.testcase("http://www.testlink.com")

  def test_divide(self):

  """

  用例描述:除数为0

  """

  j=calculator(4,0)

  util.AssertEqual(j.mydivide(),0)

  def teardown_class(self):

  print("测试结束")

  if __name__ == '__main__':

  Pytest.main(['-sv','-q','--alluredir','./report/xml']) 

  最后的测试报告如图2-36

简易计算器测试用例用Pytest最终实现方式(图2)

图2-36 简易计算器基于allure生成Pytest 测试报告

今天就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-11-10 11:47:07
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-11-10 11:47:07
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-11-10 11:47:07
  • 建筑工程专业朱同学成功转行为软件测试人!2021-11-10 11:47:07
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-11-10 11:47:07
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-11-10 11:47:07
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-11-10 11:47:07
  • 文科生转行软件测试照样拿下高薪15K!2021-11-10 11:47:07
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-11-10 11:47:07
  • 毕业1年,迷茫的他最终选择转行软件测试2021-11-10 11:47:07