TestNG在Eclipse中运行的几种方法
使用了TestNG注解的测试类有各种运行方法,下面就一一列举一下。为了让各位朋友有相同的执行体验,我说一下我使用的工具版本
| 程序 | 版本 |
|---|---|
| java | 1.8.0_211 |
| Eclipse | 2019-06 (4.12.0) |
| TestNG插件 | 6.14.3 |
1 在Eclipse Outline视图中,点右键run as TestNG Test (不推荐)
需要测试的类:Person
package ngtest;
import org.testng.annotations.Test;
public class Person {
String name;
String age;
static String MOTHER_LAND;
public Person() {
}
public Person(String name, String age) {
super();
this.name = name;
this.age = age;
}
@Test
public void sayHello() {
System.out.println("Hello,I'm " + name + ", " + age + " years old!");
}
@Test
public void introduce() {
System.out.println("Hello world!");
}
@Test
public static void myMotherLand() {
System.out.println(MOTHER_LAND);
}
}
要测试上面的Introduce()方法,可以打开eclpise的outline试图,window->showView->outline,然后在outline视图中被测试的函数名上点击右键,选择run as ->TestNG Test。这种方式适用于不需要接收外部参数的方法,或静态方法。如果该方法不是静态方法,必须确保该方法不使用外部参数,并且类中有无参构造方法,否则会因为没有给参数赋值、或者构造对象时调用有参构造方法而我们没有传入参数报错。
由于运行条件限制太死,所以我们不推荐这种方式。
2 在Eclipse类编辑界面,直接点击右键run as TestNG Test
- 在方法名上点击右键
run as ->TestNG Test,这时就会运行该方法,如果该方法引用了外部参数,会默认付空值,比如上面的sayHello()方法,会输出Hello,I'm null, null years old! - 在文件空白处点击右键
run as ->TestNG Test,这时会运行该类下所有带@Test标记的方法
注意、这种运行方式要求类中必须有无参构造方法,否则会报错。
3 通过TestNG配置文件来运行(推荐)
- 生成配置文件,在Eclipse 的类导航或包导航试图(左侧那个目录树)中右键点击类名,选择
TestNG->Convert to TestNG,点击Finish,即可生成配置文件。 - 运行配置文件:在Eclipse中运行配置文件有两种方法:
- 在配置文件中,点击右键,选择
run as->TestNG Test - 在左侧文件导航栏中,选中testng配置文件,点击右键,选择
run as->TestNG Test
- 在配置文件中,点击右键,选择
推荐使用这种方式,这种方式可以传参、自定义监听器、根据组筛选运行的类,是最标准的运行方式。
4 通过TestNG类来执行
TestNG也是Java写的,所以毫无疑问我们可以通过main函数来调用TestNG类来执行。
在main函数中调用被TestNG注解的类
import org.testng.ITestNGListener;
import org.testng.TestListenerAdapter;
import org.testng.TestNG;
import ngtest.Person;
public class TestPerson {
public static void main(String[] args) {
ITestNGListener tla = new TestListenerAdapter();
TestNG testng = new TestNG();
//设置要执行的testNG类
testng.setTestClasses(new Class[] { Person.class });
testng.addListener(tla);
testng.run();
}
}
在类中调用testng配置文件
package ngtest;
import java.util.List;
import org.testng.TestNG;
import com.google.common.collect.Lists;
public class TestPerson {
public static void main(String[] args) {
TestNG tng = new TestNG();
List<String> suites = Lists.newArrayList();
//添加要执行的testng.xml文件
suites.add("testng.xml");
tng.setTestSuites(suites);
tng.run();
}
}
这种执行方法的好处就是可以把代码打成可执行jar包,TestNG配置文件名设置成参数传入main函数,配置文件本身作为附件,这样jar包和配置文件就可以脱离eclipse开发环境独立运行了。
注意,因为实际要测试的类是在testng.xml文件中指定的,所以在打包的时候一定要注意把该类和他依赖的类都打到包里,否则会无法运行
TestNG在Eclipse中运行的几种方法的更多相关文章
- Maven构建web项目在Eclipse中部署的几种方法
目录: 方法一:运用Maven的plugin:jetty来部署web 方法二:运用Eclipse 的Jetty插件直接部署 方法三:运用Run on Server(tomcat)部署 [方法一].运用 ...
- 在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法
在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法 在Eclipse中运行Jboss时,时间太长可能有时候会出现java ...
- Nodejs学习笔记(二)——Eclipse中运行调试Nodejs
前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行 ...
- monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四)
monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种 ...
- 在eclipse中运行storm-starter
开源软件官网提供的demo无疑是学习开源软件的最好的最原始的样例. 在Storm官网里下载apache-storm-0.9.6.zip,里面\examples\storm-starter\src\jv ...
- 在Eclipse中运行hadoop程序
1.下载hadoop-eclipse-plugin-1.2.1.jar,并将之复制到eclipse/plugins下. 2.打开map-reduce视图 在eclipse中,打开window--> ...
- eclipse中运行出错:无法初始化主类的解决办法
问题描述:eclipse中运行程序时,出现如下错误 解决办法: 出现此类:无法初始化主类有可能是因为eclipse中Java的版本与JDK的版本不匹配,我开始用的时候eclipse中用的是Java s ...
- 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.
问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...
- 在Eclipse中运行JAVA代码远程操作HBase的示例
在Eclipse中运行JAVA代码远程操作HBase的示例 分类: 大数据 2014-03-04 13:47 3762人阅读 评论(2) 收藏 举报 下面是一个在Windows的Eclipse中通过J ...
随机推荐
- 12 jQuery的ajax
什么是ajax AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 简言之,在不重载整个网页的情况下,AJAX通过后台加载数据,并在网页 ...
- 不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视频(mp4 格式)
不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视频(mp4 格式) 问题描述: 朋友说离线腾讯视频是 qlv 格式的,只能使用腾讯视频软件打开.让我帮忙想想办法,能不能将 qlv 格式转换成 m ...
- Hexo+NexT(四):Hexo站点及Next主题配置详解
采用Hexo及NexT搭建好网站以后,有些效果不是我们需要的,Hexo及NexT提供了强大的定制功能,本文章将要讲解的就是如何在对网站进行配置及调整,达到博主需要的效果. 本文章配置环境是Hexo 3 ...
- Linux 中文设置
命令 locale,查看Linux默认系统语言 [root@VM_0_15_centos /]# locale LANG=en_US.utf8 LC_CTYPE="en_US.utf8&q ...
- Docker 安装mysql容器数据卷挂载到宿主机
环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...
- Java---使用EWS 写个ExchangeMailUtil
依赖包: commons-httpclient-3.1.jar commons-codec-1.10.jar commons-logging-1.2.jar jcifs-1.3.17.jar 代码示例 ...
- SLAM方向公众号、知乎、博客上有哪些大V可以关注?
一.公众号 泡泡机器人:泡泡机器人由一帮热爱探索并立志推广机器人同时定位与地图构建(SLAM)技术的极客创办而成,通过原创文章.公开课等方式分享SLAM领域的数学理论.编程实践和学术前沿. 经典文 ...
- 【nginx】反向代理
反向代理事项负载均衡 是什么:百度 版本 :tomcat8 x2 nginx 1.8.1 保证两台tomcat正常启动. 配置文件:D:\nginx-1.8.1\conf\nginx.conf ,红色 ...
- python安装Django常见错误
今天没事安装了一下python的web框架,Django.自己踩了一些雷,记录下来,留给后面的学者们,不要踩同样的雷了. 1.pip版本过低,安装不了,升级pip指令 python -m pip in ...
- BZOJ 1061:志愿者招募(单纯型)
题目链接 题意 中文题意. 思路 单纯型模板题. 单纯型用来解决线性规划问题. 留坑待填. 算法思路 好长 模板 论文 卿学姐视频 #include <bits/stdc++.h> usi ...