网站首页 > 精选教程 正文
接下来再来看一下另外一个单测试的框架叫test ng,这个跟zoonnit差不多,只不过比它更高级一些。它支持并行测试、数据驱动的测试,还有测试套件以及依赖性测试。下面再来看一下这库怎么样使用。
·首先还是使用meve来管理项目,并且要添加test ng依赖。下边就来新建一个新的项目,这让新建一个新的predict,这样还选择了mevin,类型里边选择的就是quick start。
·创建好之后把依赖加进来,直接copy一下全部的依赖。当它刷新成功之后把它放到下边覆盖一下原有的依赖,原有的依赖就是juniter测试的依赖,把这个覆盖掉。用test ng,这里边有一个juniter依赖,把这个覆盖一下,等刷新下载一下这个库。
·有了这个之后,接下来下边就首先写一个程序,这个程序还是之前计算器这样一个程序,就是calculator加法减法。
·接下来放到main里边新建一个class叫calculator,copy一下。下边在这就是把class的逻辑copy过来,非常简单,一个是加,一个是减,按的和subsect传两个参数,a加b,这是a减b。
·现在要测试一下这两个方法的正确性。第一个可以放到test的包下边,放到这儿来,就写一个叫calculator test,邮件单机新建一个class our class。
·有了这个之后接下来下边还是根据速解的方式,test加test减,这部内容其实跟上一节讲juniter非常的类似,也是添加一个test注解。看一下test注解叫testing ng里边的notations里边的test注解,下面就是实例化类,然后调用这个方法产生一个结果。
·接下来通过test ng里边也有断言,assert,这里边有很多静态方法,打开三个词,大家可以看一下这边有很多静态方法,通过这些静态方法可以判断这个类的正确性测试结果,这是真正的运行结构。
·后边参数是xpec的什么意思?期望的结果当然是五加三等于八了,下边这个也是一样,十减四肯定期望是六,接下来可以单独的运行,点击这个来运行,也可以点击上边整体来运行class。
·下面看一下运行的结果,下边junit不存在,可能看一下下边里边有一个自带的test,这个是用的是unit测试,所以刚才把那个包覆盖了,这个泪已经没有了,再来重新运行一下。
现在看到测试结果应该是没有什么问题,这个地方如果测试通过了,会显示绿色的勾,也可以这样来运行,把整个的class都运行一遍,会把这个类里边的两个方法都运行一下。
也可以怎么样?假设这个地方期望的是九,再来运行一下会发现这轮就报错了,现在再来运行看一下结果,看到这个地方第一个方法test有问题了,期望的是九,真实的结果是八,所以这个地方就有错误了,这就是单测试,能测出来,再把它修改一下再重新测试,通过了。
这就是最基本的测试的流程,首先是添加依赖,写测试类,写的测试方法,测试用力,下边就是其他的一些注解,before test和after test,跟前边讲的unit非常的类似,就是每一个测试方法运行的时候都要执行一遍,把这个加一个输出,这个就叫before test,然后这个也加一个输出,这个叫after test。
有了这个之后,接下来再来运行,看效果,再来运行一下测试类,现在看到输出结果就是看一下before test和after test,就是测试前后都要执行,下边有一个测试套件,就是运行两个通过,两个失败了两个跳过了,失败了零个跳过了零杠,这是一个测试的运行结果。
这是一个这两个注解叫before test和after test,除了这个之外下边还有一个叫date pride,这个是比较重要的,就是经常会通过数据驱动的测试,就是测试用力可能要有很多,测试的样本会有很多,怎么办?可以通过外部的excel文件或者写一个数据,这个地方其实也可以是一个外部excel文件,通过读取excel文件的数据,在这就通过一个对象数组,二维数组,前面这两个参数是那两个,这个就是测试的这两个入餐,后边这个是期望结果。
所以把所有的这些多写几个测试样本,通过数据驱动方式date pride,什么意思?就是数据的提供者,起个名字叫test date,把这个拷贝一下,首先把这个放到测试类里边来,接下来下边就是要写测试的时候可以用数据,怎么用数据?还是下边这个,就测试这个加,把这个拷贝一下,会看到这里边还是test,test里边有一个参数就是deet provider,是上边起了个名字叫test deet,所以这是引用关系。
接下来测试的时候参数a和b和exact就把这些数据传过来了,第一个测试第二测试还可以加更多的,比如第三组来一个这个,这是一,这是二,结果希望的是什么?三,等等这些都可以。测试数据可以写一大堆,也可以怎么做?也可以把测试数据写到excel文件都可以。
现在运行测试用率会发现在数据来源就根据上边提供data pride,一个运行结果看一下,这个是真实的是十四,出来十四了,看一下这个,其实这个是测试的是什么?测试的是加,加肯定是十,结果应该是什么?十四,对的,弄成减了,再来运行,测试通过了。
现在看到了一结果就是两个字方法都通过了,这个就是通过,给它一种数据,接着还可以给它一个第三种,比如这是一,这个是二,结果应该是吗?经过是三号,假如写成四,再来运行就会怎么样了?也行,三组数据,前边两组是对的,最后一组是错的,期望的是什么?期望的是这个,期望的是四,实际的是三,所以这个地方就不错了,再来运行就可以了。
这就是有关这一节给大家介绍的有关test ng,首先它跟经历差不多,只不过更加高级一些,比如刚才说的并行测试,讲了一个数据驱动测试,还有测试套件,还有依赖性测试,什么叫依赖?就是b用力,然后需要依赖a用力,这叫依赖性。
有关这节内容就结束中。
- 上一篇: 从JUnit测试套件中进行模型提取和测试生成
- 下一篇: 如何从业务测试过渡到测试开发呢?
猜你喜欢
- 2024-11-04 使用JavaSnoop测试Java应用程序 java怎么测试程序
- 2024-11-04 java开发中常见编译报错和解决举例汇总
- 2024-11-04 Java单元测试技巧之JSON序列化 json序列化是什么意思
- 2024-11-04 2022最全java面试题及答案(208道)你能坚持到哪一道呢?
- 2024-11-04 Java 接口改造:UserTest 变 BaseTest,一键重构搞定
- 2024-11-04 自动化测试、回归测试平台调研,基于流量回放
- 2024-11-04 测试开发java常见面试题_Java常见面试题
- 2024-11-04 JAVA考试真题测试 java试题百度文库
- 2024-11-04 使用Jtest 2022.2简化严格的Java测试
- 2024-11-04 如何用TestNG进行java单元测试? java怎么单元测试
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)