软件测试技术之创建单元测试—编写测试用例and执行测试用例
从安 2019-07-02 来源 : 阅读 2386 评论 0

摘要:本篇文章主要讲述软件测试技术之创建单元测试—编写测试用例and执行测试用例,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章主要讲述软件测试技术之创建单元测试—编写测试用例and执行测试用例,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

软件测试技术之创建单元测试—编写测试用例and执行测试用例

  编写测试用例

  编写单元测试一版遵循3A模式:

  Arrange(准备)。设置测试场景,准备测试数据

  Act(执行)。调用被测试代码

  Assert(断言)。验证被测代码的行为是否与预期相同

  在jasmine-demo\spec\Basic目录下创建Calc_spec.js,添加如下测试代码:

  describe('Calculator',function(){

  varcalc;

  beforeAll(function(){

  calc=newCalculator();

  })

  describe('TestAdd',function(){

  it('add1and3shouldequal4',function(){

  varresult=calc.add(1,3);

  expect(result).toBe(4);

  })

  })

  })

  单元测试验证测试结果通常使用断言的形式,也就是将期望的结果与实际的结果相比较,一致说明测试通过,不一致说明测试失败。上面代码中的expect(result).toBe(4);指的是1+3得到的结果是否等于4.

  我们能想到所有的测试用例应该至少包含一条断言。

  执行测试用例

  执行测试用例,我们可以仿照下载的jasmine中包含的例子来写。

  复制SpecRunner.html到jasmine-demo中,用编辑器打开,对立面的内容进行修改,修改如下:

  <!DOCTYPEhtml>

  <html>

  <head>

  <metacharset=""utf-8"">

  <title>CalculatorTest</title>

  <linkrel=""shortcuticon""type=""image/png""href=""node_modules/jasmine-core/images/jasmine_favicon.png"">

  <linkrel=""stylesheet""href=""node_modules/jasmine-core/lib/jasmine-core/jasmine.css"">

  <scriptsrc=""node_modules/jasmine-core/lib/jasmine-core/jasmine.js""></script>

  <scriptsrc=""node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js""></script>

  <scriptsrc=""node_modules/jasmine-core/lib/jasmine-core/boot.js""></script>

  <!--includesourcefileshere...-->

  <scriptsrc=""src/Basic/Calc.js""></script>

  <!--includespecfileshere...-->

  <scriptsrc=""spec/Basic/Calc_spec.js""></script>

  </head>

  <body>

  </body>

  </html>

  主要修改的有:

  1.文档标题

  2.文件路径,jasmine例子中的文件都包含在我们下载的jasmine-core的文件目录下,找到文件对应的目录改写即可。

  3.source文件名与路径

  4.测试用例文件名和路径

  运行结果

  一个测试用例通过。

  上面的例子是书中现成的例子,现在来举一反三。

  测试用例:1+2!=5;

  再源代码中加个乘法;

  测试用例:2*5=10;2*10!=15

  calc.js中添加代码:

  Calculator.prototype.multiply=function(a,b){

  returna*b;

  }

  Calc_spec.js中代码为:

  describe('Calculator',function(){

  varcalc;

  beforeAll(function(){

  calc=newCalculator();

  })

  describe('TestAdd',function(){

  it('add1and3shouldequal4',function(){

  varresult=calc.add(1,3);

  expect(result).toBe(4);

  });

  it('add1and2shouldnotequal5',function(){

  varresult=calc.add(1,2);

  expect(result).not.toBe(5);

  })

  })

  describe('Testmultiply',function(){

  it('multipled2and5shouldequal10',function(){

  varresult=calc.multiply(2,5);

  expect(result).toBe(10);

  });

  it('multipled2and10shouldnotequal15',function(){

  varresult=calc.multiply(2,10);

  expect(result).not.toBe(15);

  })

  })

  })


本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!


本文由 @从安 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程