首先来看一个非常简单的例子,代码如下:
- import org.testng.annotations.BeforeClass;
- import org.testng.annotations.Test;
-
- public class SimpleTest {
- @BeforeClass
- public void setUp() {
- System.out.println("init()");
- }
-
- @Test(groups = { "fast" })
- public void aFastTest() {
- System.out.println("Fast test");
- }
-
- @Test(groups = { "slow" })
- public void aSlowTest() {
- System.out.println("Slow test");
- }
- }
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class SimpleTest {
@BeforeClass
public void setUp() {
System.out.println("init()");
}
@Test(groups = { "fast" })
public void aFastTest() {
System.out.println("Fast test");
}
@Test(groups = { "slow" })
public void aSlowTest() {
System.out.println("Slow test");
}
}
在安装有TestNG插件的Eclipse开发环境下,运行结果如下:
引用
init()
Fast test
Slow test
PASSED: aFastTest
PASSED: aSlowTest
===============================================
example1.SimpleTest
Tests run: 2, Failures: 0, Skips: 0
===============================================
===============================================
testNG
Total tests run: 2, Failures: 0, Skips: 0
===============================================
至于红条绿条界面的截图就不截上来的,因为例子比较简单啦。在该例子中setUp()方法会任何的test方法前被调用,这一点和JUnit是一模一样的。
创建一个TestNG测试用例:
1、不需要继承任何类或实现特定的接口
2、虽然上面的例子采用了JUnit的一些特定的习惯,但我们可以为测试的方法起任意的名称,如果你的喜欢的话,因为利用annotations就告诉TestNG哪一些方法就是指定的测试的方法(见代码中的@Test)
3、一个方法可以属于一个或多个group.我们可以任意指定哪一些group的测试方法被触发,如果不指定,默认情况下全部的测试方法都会被执行到.
- 例如下面,我们不在eclipse运行上面的测试用例,首先,写一个ant的执行脚本,类似:
- <project default="test">
-
- <path id="cp">
- <pathelement location="lib/testng-testng-4.4-jdk15.jar"/>
- <pathelement location="build"/>
- </path>
-
- <taskdef name="testng" classpathref="cp"
- classname="org.testng.TestNGAntTask" />
-
- <target name="test">
- <testng classpathref="cp" groups="fast">
- <classfileset dir="build" includes="example1/*.class"/>
- </testng>
- </target>
-
- </project>
例如下面,我们不在eclipse运行上面的测试用例,首先,写一个ant的执行脚本,类似:
<project default="test">
<path id="cp">
<pathelement location="lib/testng-testng-4.4-jdk15.jar"/>
<pathelement location="build"/>
</path>
<taskdef name="testng" classpathref="cp"
classname="org.testng.TestNGAntTask" />
<target name="test">
<testng classpathref="cp" groups="fast">
<classfileset dir="build" includes="example1/*.class"/>
</testng>
</target>
</project>
运行结果如下:
引用
c:> ant
Buildfile: build.xml
test:
[testng] Fast test
[testng] ===============================================
[testng] Suite for Command line test
[testng] Total tests run: 1, Failures: 0, Skips: 0
[testng] ===============================================
BUILD SUCCESSFUL
Total time: 4 seconds
这时,我们可以清楚地看到"slow"组的group测试方法就没有被调用,也是group存在的一个原因.
分享到:
相关推荐
2. **进阶篇**:深入讲解了TestNG的高级特性,如参数化测试、依赖性测试、数据驱动测试等,帮助读者掌握更复杂的测试场景,提升测试的有效性和覆盖率。 3. **最佳实践与案例研究**:通过实际案例分析,展示了如何在...
这表明你将接触到Java类、对象、接口等概念,以及如何在Java环境中集成和执行TestNG测试。 在【压缩包子文件的文件名称列表】中,我们只看到"PilarMontes_TestCase_Design_TestNG-main"。这可能是项目的主目录,...
可能还有旅行史、接触史等相关信息,以便于追踪和分析疫情传播风险。 3. **数据存储与管理**:所有收集到的信息需要安全地存储在数据库中,便于后期查询和分析。这涉及到数据库设计和SQL操作。 4. **数据分析与...
7. **持续集成/持续部署(CI/CD)**: 为了实现持续测试,开发者可能还接触了Jenkins或GitLab CI/CD等工具,它们可以自动运行测试并构建项目,确保每次代码更改后都能快速得到反馈。 8. **日志记录**: 对于调试和问题...
2. **JUnit和TestNG**:它们是单元测试框架,用于编写和执行Java代码的测试。JUnit是较早的测试框架,而TestNG则增加了更多特性,如支持多线程测试。 3. **Spring框架**:这是一个全面的企业级应用开发框架,包括...
通过这个项目,开发者可以深入理解SSM框架的整合与使用,学习到如何设计和实现一个完整的Web应用程序,同时还能接触到前端开发、数据库设计、权限管理等多个领域知识。对于初学者,这是一个极好的学习实践平台,对于...
虽然描述中没有直接提供详细信息,但通常一篇关于Selenium2的学习材料博客可能包含以下内容:基础概念介绍、安装步骤、基本用法、API详解、实战示例以及如何与其他工具(如JUnit或TestNG)集成。博主可能还会分享...
**Selenium 2.48.2:自动化测试利器** Selenium是一款强大的开源自动化测试工具,主要用于Web应用程序的测试。Selenium 2.48.2是该框架的一个较早版本,但对初学者来说,它仍然是一个很好的起点,因为它包含了基本...
【标题】"ReTeLab2:麻省理工学院2Rendszertervezéslaboratórium1megoldásaim" 涉及的是麻省理工学院(MIT)系统设计实验室的第二部分,其中包含了学生对课程项目解决方案的分享。这个项目可能涵盖了软件工程、系统...
7. **TestNG**:除了 JUnit,也可能接触到 TestNG,一个更强大的测试框架,支持更多的测试注解和并发测试。 8. **TDD(测试驱动开发)**:学习如何使用 TDD 方法编写测试,先写测试用例再实现功能代码,以保证代码...
该课程可能涵盖了一系列与Java测试相关的主题,包括单元测试、集成测试、性能测试以及自动化测试框架的应用。以下是基于提供的信息,我们可以推测的一些关键知识点: 1. **Java编程基础**:作为标签,Java表明课程...
【JavaAssignment2:CPD4414 - 作业 2】这个项目是针对Java编程语言的第二学期学习任务,通常在大学课程中,这样的作业会涵盖中级到高级的Java编程概念,旨在提升学生的编程技能和对Java特性的理解。在Java-II-Term-...
4. **TestNG**: 虽然JUnit是基本的测试框架,但TestNG提供了更高级的功能,如并发测试、参数化测试和灵活的报告。学员可能会接触到这个替代选项。 5. **持续集成(CI)**: 如Jenkins或GitLab CI/CD,课程可能会讨论...
2. **JUnit**:JUnit是Java中最流行的单元测试框架,它允许开发人员编写针对单个方法或小块代码的测试。对于测试驱动开发(TDD)来说,JUnit是一个不可或缺的工具。测试人员可以利用JUnit确保代码的正确性和可靠性。...
1. **基础语法**:在M2实践中,初学者可能会接触到Java的基础语法,如变量、数据类型、控制结构(如if语句、for循环、while循环)、类与对象、方法定义等。这些是编程的基础,理解并熟练掌握它们至关重要。 2. **...
这一章可能包含如何使用Struts2 TestNG或JUnit插件进行Action类的测试。 9. **最佳实践与性能优化**:最后,你可能会学到一些Struts2的最佳实践,如何避免常见陷阱,以及如何优化Struts2应用程序以提升性能。 以上...
【标题】"项目实战一等"所指的可能是一个Java编程的实践项目,这通常意味着它包含了一系列实际操作的步骤,旨在帮助学习者提升在Java开发中的应用技能。在这个项目中,你可能会遇到如何设计、实现、测试以及优化Java...
2. 测试用例:每个测试用例通常对应一个单独的Java类,包含了具体的测试方法,用于验证特定的功能或场景。 3. 页面对象模型(Page Object Model):这是一种设计模式,用于组织Web测试的代码,将页面元素和与其相关...