• 前言

前一篇文章我们简单了解了下单元测试的概念以及使用junit进行入门了。

但想更好做自动化测试,还是得了解下testng,毕竟,作为一名技术人,NG(下一代)的测试框架总得了解与跟进。

testng比junit的强大与好用还是在实际操作理解中体会。

有人说,一般来说,开发人员比较喜欢junit写单元测试,而测试人员喜欢用testng来写自动化测试。

而作为初学入门技术选型,个人建议可以直接上testng。长远来看,testng更好的管理和执行自动化测试用例。

异同点对比啥的网上很多都有说法了,如:

https://www.cnblogs.com/weiweiyao/p/4280062.html

http://www.sohu.com/a/288820372_216613

  • testng 实例
  1. 新建一个testng测试用例

1. 引入testng 插件包

1)在eclipse- Help-Install new SoftWare-Add 输入链接http://beust.com/eclipse/ 一路next即可

2)也可以下载testng的包(https://testng.org/doc/download.html),把它放到eclipse的目录下,重启生效

3)或者打开Eclipse, 然后打开网址:https://marketplace.eclipse.org/content/testng-eclipse,把这个Install按钮直接拖拽到Eclipse中也会触发安装

2. 就可以创建一个testng的测试类了,效果如下

3.跑一个testng测试类

代码:

package testng;

public class Caculator {
/**
* 传入两个参数,求和
* @param a
* @param b
* @return
*/
public int add(int a,int b){
return a+b;
} /**
* 传入两个参数,求差
* @param a
* @param b
* @return
*/
public int sub(int a,int b){
return a-b;
}
}
package testng;

import org.junit.Assert;
import org.junit.Before;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test; public class testng {
@Test
public void f() {
} Caculator a=null; @BeforeTest
public void testBeforeClass()
{
a=new Caculator();
} @Test
//测试 add()方法
public void testAdd(){
int result = a.add(1, 2);
Assert.assertEquals(result, 4);
} @Test
//测试 sub()方法
public void testSub(){
int result = a.sub(2, 1);
Assert.assertEquals(result, 2);
}
}

运行效果:

2. 配置testng.xml

了解testng,能跑起来,但想做高级一点的,如集成到其它环境或多个包之间一键跑用例,还是要了解testng.xml:

1) eclipse 如何配置testng.xml?

进行选中一个测试的项目中,然后进行右键弹出下拉菜单中进行选择为“TestNG”.
这样就会弹出了一个下一级菜单中进行选择为“convert to testng”
这样就会在项目的列表中添加了一个testng.xml的一个文件。

配置如下(变更点为红色部分):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="testng.testng">
<methods>
<include name="testAdd" />
</methods>
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

运行效果:

如果要运行多个不同包中的测试用例,则可以配置如下(变更点为红色部分)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="testng.testng">
<methods>
<include name="testAdd" />
</methods>
</class>
<class name="testng2.testng">
<methods>
<include name="testAdd" />
</methods>
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

白盒测试笔记之:testng 单元测试的更多相关文章

  1. 白盒测试笔记之:Junit 单元测试以及测试覆盖率

    单元测试: 单元测试是从代码层面验证代码的正确性. 一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等. ​ Junit入门  参考: Junit 入门教程: https://ww ...

  2. JAVA TestNG单元测试详解

    TestNG单元测试详解   by:授客 QQ:1033553122 1. 测试环境 2 2. 介绍 2 3. Annotation 2 4. testng.xml 3 4.1. 例1 3 4.2. ...

  3. Eclipse中怎么安装TestNG单元测试框架

    在进行使用的eclipse的进行开发的代码中,必然就会需要进行单元测试,在单元测试的情况提供较多的框架单元测试,例如使用junit单元测试,而在国外进行开发较好的单元测试,提供了较好的测试的报告,ju ...

  4. TestNG 单元测试框架的使用

    JUnit让开发人员了解测试的实用性,尤其是在单元测试这一模块上比任何其他测试框架都要简单明了.凭借一个相当简单,务实,严谨的架构,JUnit已经能够“感染”了一大批开发人员.TestNG是一个测试框 ...

  5. ember.js:使用笔记9 开始单元测试

    单元测试被限定在一个范围内,并且不需要Ember应用运行. 使用前准备: 加入Ember-QUnit:获取一系列测试助手帮助单元测试:加入 mian.js; 加入根元素(与集成测试的时候一样):App ...

  6. angular2 学习笔记 ( unit test 单元测试 )

    第一次写单元测试. 以前一直都有听说 TDD 的事情. 今天总算是去尝试了一下. 先说说 TDD 的想法, 是这样的, 开发项目的流程 : 确定需求 -> 写类,接口,方法的名字(不写具体实现代 ...

  7. Scala学习笔记——断言和单元测试

    1.断言 assert(conditon)将在条件不成立的时候,抛出assertionError assert(conditon,explanation)讲在条件不成立的时候,抛出explanatio ...

  8. powermock+mockito+testng 单元测试pom文件

    0:Supported versions PowerMock version 1.7.0 and upper has experimental support of Mockito 2. A lot ...

  9. python学习笔记:unittest单元测试

    单元测试:开发自测时写的代码 unittest基本原理: ♦整个平台的搭建使用的是python的unittest测试框架,这里简单介绍下unittest模块的简单应用. ♦unittest是pytho ...

随机推荐

  1. 【转】分布式文件系统FastDFS架构剖析

    FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能通过专有API对文件进行存取访问,不支持POSIX接口方式, ...

  2. react入门及简单配置

    直接script引入的不说了 1.npm i -g create-react-app 2.create-react-app my-app (其中my-app为项目名称) 3.进入项目cd my-app ...

  3. 字节转b kb mb gb 等

    /// <summary> /// 计算文件大小函数(保留两位小数),Size为字节大小 /// </summary> /// <param name="siz ...

  4. H5 设计尺寸

    750*1218 微信下 兼容 7plus 内容高度 居中 1000px 内 750*1448 微信下 兼容 iphoneX 微信导航栏高度 64px 64px =  导航栏44+状态栏20 但是现在 ...

  5. Java根据余弦定理计算文本相似度

    项目中需要算2个字符串的相似度,是根据余弦相似性算的,下面具体介绍一下: 余弦相似度计算 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小.余弦值越接近1,就表明夹角越接近0度, ...

  6. matplotlib(一):散点图

    import numpy as np import matplotlib.pyplot as plt #产生测试数据 # x,y为数组 N = 50 x = np.random.rand(N) y=n ...

  7. 循环数组实现FIFO

    涉及到数据通信的软件开发,不能回避的一点是,设计一个实用高效率的数据缓冲区,例如fifo.今天在做项目时候,需要缓存CAN总线上的数据,然后再需要的时候读这些数据.下边给出我自己设计的,采用循环数组实 ...

  8. Git与Repo 的使用

    一.Linux常用命令 pwd           用于显示工作目录,执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称. chmod      用来变更文件或目录的权限. >      ...

  9. 普通线程类获取service,controller等spring容器类

    package com.zihexin.application.strategy; import org.springframework.beans.BeansException; import or ...

  10. Qt加载本地字体 .ttc或.ttf

    版权声明:支持原创,转载请说明~ https://blog.csdn.net/luoyayun361/article/details/54934437 //设置本地字体,黑体简 int fontId ...