[跟着官方文档学TestNG][一][学习笔记]

网友投稿 872 2022-05-29

TestNG是一个受JUnit和NUnit启发的测试框架,但引入了一些新功能,使其更强大且更易于使用,例如:

注解

在具有各种可用策略的任意大的线程池中运行你的测试(所有方法在它们自己的线程中,每个测试类一个线程,等等…)

测试你的代码是多线程安全的。

[跟着官方文档学TestNG][一][学习笔记]

灵活的测试配置。

支持数据驱动测试(使用@DataProvider)。

支持参数。

强大的执行模型(不再有 TestSuite)。

支持多种工具和插件(Eclipse、IDEA、Maven 等)。

嵌入 BeanShell 以获得更大的灵活性。

用于运行时和日志记录的默认 JDK 函数(无依赖关系)。

应用服务器测试的依赖方法。

TestNG旨在简化广泛的测试需求,从单元测试(单独测试其他类)到集成测试(测试由多个类,多个包甚至几个外部框架组成的整个系统,如应用程序服务器)。

编写测试通常分为三个步骤:

编写测试的业务逻辑,并在代码中插入TestNG注解。

在testng.xml文件或build.xml中添加有关测试的信息(例如类名、要运行的组等)。

运行TestNG。

代码示例:

org.testng testng 7.5 test

import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class SimpleTest { @BeforeClass public void setUp() { //... } @Test(groups = {"fast"}) public void aFastTest() { System.out.println("Fast test"); } @Test(groups = {"slow"}) public void aSlowTest() { System.out.println("Slow test"); } }

输出结果:

方法setUp()将在构建测试类之后和运行任何测试方法之前调用。在此示例中,我们将快速运行组,因此将调用 aFastTest()而跳过aSlowTest()。

注意事项:

无需扩展类或实现接口。

尽管上面的例子使用了JUnit约定,我们的方法可以被称为任何你喜欢的名字,它是告诉TestNG它们是什么的注解。

一个测试方法可以属于一个或多个组。

TestNG要求JDK 8及以上。

本文档中使用的概念如下:

一个套件由一个XML文件表示。它可以包含一个或多个测试,并由标记定义。

测试由表示,可以包含一个或多个TestNG类。

TestNG类是包含至少一个TestNG注解的Java类。它由标记表示,可以包含一种或多种测试方法。

测试方法是在源代码中由@Test注解的Java方法。

TestNG测试可以通过@BeforeXXX和@AfterXXX注解来配置,它们允许在某个点之前和之后执行一些Java逻辑,这些点是上面列出的项目之一。

教程其余部分将解释以下内容:

带有简要说明的所有注释的列表。这将了解TestNG提供的各种功能,但可能需要查阅专门针对每个注解的部分以了解详细信息。

testng.xml文件的描述、其语法以及可以在其中指定的内容。

各种功能的详细列表以及如何结合注释和testng.xml使用它们。

Java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Android 组件化】路由组件 ( 组件间共享的服务 )
下一篇:【Verilog HDL 训练】第 03 天
相关文章