testNG官网:http://testng.org/doc/download.html

howtodoinjava.com里的testNG教程,简单详细:http://howtodoinjava.com/java-testng-tutorials/

书籍推荐:《Java测试新技术--testNG》 下载链接: http://pan.baidu.com/s/1jGzQ5vg   密码: ufg3

下面列出howtodoinjava.com里的目录:

PS:这是一个很赞的网站,学习Java系基础语言的一个好地方,既锻炼了英语,也学到了知识,happy learning!enjoy!

This page list down all available tutorials on TestNG in this blog. This page will be updated as soon as a new tutorial is published on TestNG.

Setup and Installation

Installing TestNG onto Eclipse and Executing your first Test

This tutorial discusses following topics in detail:

  • Introduction of TestNG
  • Advantages of TestNG
  • Installing TestNG onto Eclipse
  • Creating Java Project with TestNG Dependencies
  • Creating your first TestNG class
  • Running TestNG test

Begin with TestNG

Annotations Tutorial

TestNG uses annotations to help developers to write the tests. Learn about all the annotations provided by TestNG and a brief description of them.

Before and After Annotations

Before and After annotations are mainly used to execute a certain set of code before and after the execution of test methods. These are used to basically set up some variables or configuration before the start of a test execution and then to cleanup any of these things after the test execution ends.

Expected Exception and Expected Message

While writing unit tests there can be certain scenarios where we need to verify that an exception is being thrown by the program during execution. TestNG provides a feature to test such scenarios by allowing the user to specify the type of exceptions that are expected to be thrown by a test method during execution. It supports multiple values being provided for verification. If the exception thrown by the test is not part of the user entered list, the test method will be marked as failed.

How to disable/ignore test method

When executing TestNG tests, there may be some scenarios where you may have to disable a particular test or a set of tests from getting executed. For example, consider a scenario where a serious bug exists in a feature due to certain tests belonging to certain scenarios that cannot be executed. As the issue has already been identified we may need to disable the said test scenarios from being executed.

Timeout Test

While running tests there can be cases where certain tests get stuck or may take much more time than expected. In such a case you may need to mark the said test case as fail and then continue. In this tutorial, we will learn to configure TestNG tests to timeout after some configured time duration.

Passing Parameters through testng.xml and @Parameters Annotation

One of the important features of TestNG is parameterization. This feature allows user to pass parameter values to test methods as arguments. This is supported by using the @Parameters annotation.

Advanced Concepts

Passing Parameters through @DataProvider

An important features provided by TestNG is the DataProvider feature. It helps you to write data-driven tests, which essentially means that same test method can be run multiple times with different data-sets. It helps in providing complex parameters to the test methods as it is not possible to do this from XML.

Test Groups, Meta Group, Default Group Examples

Grouping test methods is one of the most important features of TestNG. In TestNG users can group multiple test methods into a named group. You can also execute a particular set of test methods belonging to a group or multiple groups. This feature allows the test methods to be segregated into different sections or modules.

Learn about following topics in this tutorial:

  • Grouping tests example
  • Running a TestNG group through Eclipse
  • Running a TestNG group through testng.xml
  • Writing tests which belong to multiple groups
  • Including and excluding groups
  • Using regular expressions
  • Default group
  • Group of groups

Dependent Tests Examples

Dependency is a feature in TestNG that allows a test method to depend on a single or a group of test methods. This will help in executing a set of tests to be executed before a test method. Method dependency only works if the “depend-on-method” is part of the same class or any of the inherited base class (i.e. while extending a class).

@Factory Annotation

Learn about the @Factory annotation provided by TestNG. @Factory allows tests to be created at runtime depending on certain data-sets or conditions.

Difference between @Factory and @DataProvider

While learning TestNG, many people get confused when they read about the @DataProvider and @Factory annotations – what to use when? and what is better? Let’s take a look at both of their functionalities.

Executing Parallel Tests

Parallelism or multi-threading in software terms is defined as the ability of the software, operating system, or program to execute multiple parts or sub-components of another program simultaneously. TestNG allows the tests to run in parallel or multi-threaded mode. This means that based on the test suite configuration, different threads are started simultaneously and the test methods are executed in them. This gives a user a lot of advantages over normal execution, mainly reduction in execution time and ability to verify a multi-threaded code.

Learn about following topics:

  • Advantages of Parallel Tests Execution
  • Running test methods in parallel
  • Running test classes in parallel
  • Running tests inside a suite in parallel
  • Configuring a test method to run in multiple threads

Execute TestNG Tests With Maven Build

Learn how to execute testng tests using maven build file i.e. pom.xml file. This knowledge is important if you are planning to automate your tests and making them part of project build process itself.

TestNG超详细教程的更多相关文章

  1. Github上传代码菜鸟超详细教程【转】

    最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...

  2. WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

    转自:http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教 ...

  3. Struts2+Spring4+Hibernate4整合超详细教程

    Struts2.Spring4.Hibernate4整合 超详细教程 Struts2.Spring4.Hibernate4整合实例-下载 项目目的: 整合使用最新版本的三大框架(即Struts2.Sp ...

  4. 安装64位Oracle 10g超详细教程

    安装64位Oracle 10g超详细教程 1. 安装准备阶段 1.1 安装Oracle环境 经过上一篇博文的过程,已经完成了对Linux系统的安装,本例使用X-Manager来实现与Linux系统的连 ...

  5. NumPy 超详细教程(3):ndarray 的内部机理及高级迭代

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 ndarray 对象的内部机理 ...

  6. NumPy 超详细教程(2):数据类型

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 NumPy 数据类型 ...

  7. NumPy 超详细教程(1):NumPy 数组

    系列文章地址 NumPy 最详细教程(1):NumPy 数组 NumPy 超详细教程(2):数据类型 NumPy 超详细教程(3):ndarray 的内部机理及高级迭代 文章目录 Numpy 数组:n ...

  8. 【python】10分钟教你用python打造贪吃蛇超详细教程

    10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...

  9. 数学规划求解器lp_solve超详细教程

    前言 最近小编学了运筹学中的单纯形法.于是,很快便按奈不住跳动的心.这不得不让我拿起纸和笔思考着,一个至关重要的问题:如何用单纯形法装一个完备的13? 恰巧,在我坐在图书馆陷入沉思的时候,一位漂亮的小 ...

随机推荐

  1. Introduction to Financial Management

    Recently,i am learning some useful things about financial management by reading <Essentials of Co ...

  2. 撸一撸腾讯的微信支付(C#)

    一.前言 以往网上支付都是支付宝的天下,随着微信用户群的日益增多(其实,到现在我也不理解微信为嘛那么火,功能还没QQ强大,或许是公众号的原因?),先如今不上个微信支付你都不好意思说你系统支持在线支付. ...

  3. 用Chrome devTools 调试Android手机app中的web页面。

    (1) 手机要满足Android系统为4.4或更高版本,低版本不支持这种方式.(2) 确保App已经开启了webview的debug调试模式,由Android工程师协助.(2) 用usb数据线连接好手 ...

  4. OSGi运行环境下java反序列化问题的解决方式

    在OSGi环境下采用以下方式对其它bundle的类进行反序列化时,会出现ClassNotFoundException异常. ByteArrayInputStream bi = new ByteArra ...

  5. httpclient模拟浏览器get\post

    一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等.所访问的这些页面有的仅 仅是一些普通的页面,有的需要用户登录后方可使用,或者需 ...

  6. 【BZOJ】【3171】【TJOI2013】循环格

    网络流/费用流 最后能走回出发点……说明全部是环= = 而二分图上的环说明什么呢……完备匹配 对于每个点,它都有四个可能的匹配点,且已知它已经(伪)匹配的一个点,那么我们于已知每条(伪)匹配边,我们连 ...

  7. myeclipse 反编译插件 jad 安装

    1.  准备工作 下载jad.exe文件:http://www.varaneckas.com/sites/default/files/jad/jad158g.win.zip 下载jadeclipse插 ...

  8. .Net 执行 Oracle SQL语句时, 中文变问号

      带中文的Sql语句在.Net调用时, 中文变问号(可使用 SQL Tracker工具跟踪)   问题:       服务器的字符集与客户端的字符集不一致. 解决方法: 1.  查看服务端的字符集: ...

  9. 用CSS3制作的旋转六面体动画

    这是用CSS3制作的旋转的六面体 请用火狐或谷歌浏览器预览,有些旋转角度做的不够好,请大神指教 top bottom left right front back

  10. SOA之(2)——SOA架构基础概念与设计框架

    SOA的设计框架 设计框架与架构相关的概念紧密相连,原则.模式和架构始终是与设计共舞的. SOA服务设计的原则中记录了一个基础的设计框架: 设计特性(Design Characteristic)——由 ...