提交 074d2323 编写于 作者: W wizardforcel

2020-06-05 22:53:00

上级 24081615
......@@ -25,7 +25,7 @@ TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些
TestNG 使用注解来帮助开发人员编写测试。 了解 TestNG 提供的所有注解及其简要说明。
#### [注解前后](//howtodoinjava.com/testng/testng-before-and-after-annotations/ "TestNG Before and After Annotations")
#### [前后注解](//howtodoinjava.com/testng/testng-before-and-after-annotations/ "TestNG Before and After Annotations")
前后注解主要用于在执行测试方法之前和之后执行特定的代码集。 这些用于基本上在测试执行开始之前设置一些变量或配置,然后在测试执行结束之后清除所有这些内容。
......@@ -41,15 +41,15 @@ TestNG 使用注解来帮助开发人员编写测试。 了解 TestNG 提供的
在运行测试时,某些情况下可能会卡住某些测试,或者可能花费比预期更长的时间。 在这种情况下,您可能需要将所述测试用例标记为失败,然后继续。 在本教程中,我们将学习将 TestNG 测试配置为在某些配置的持续时间后超时。
#### [通过 testng.xml 和@Parameters 注解传递参数](//howtodoinjava.com/testng/testng-test-parameters-through-testng-xml-and-parameters-annotation/ "TestNG – Test Parameters through testng.xml and @Parameters Annotation")
#### [通过`testng.xml`和`@Parameters`注解传递参数](//howtodoinjava.com/testng/testng-test-parameters-through-testng-xml-and-parameters-annotation/ "TestNG – Test Parameters through testng.xml and @Parameters Annotation")
TestNG 的重要功能之一是参数化。 此功能允许用户将参数值作为参数传递给测试方法。 通过使用@Parameters 注解支持此功能。
TestNG 的重要功能之一是参数化。 此功能允许用户将参数值作为参数传递给测试方法。 通过使用`@Parameters`注解支持此功能。
## 先进概念
#### [通过@DataProvider](//howtodoinjava.com/testng/testng-test-parameters-through-dataprovider/ "TestNG – Test Parameters through @DataProvider") 传递参数
#### [通过`@DataProvider`传递参数](//howtodoinjava.com/testng/testng-test-parameters-through-dataprovider/ "TestNG – Test Parameters through @DataProvider")
TestNG 提供的一个重要功能是 DataProvider 功能。 它可以帮助您编写数据驱动的测试,这实际上意味着同一测试方法可以针对不同的数据集多次运行。 它有助于为测试方法提供复杂的参数,因为不可能从 XML 做到这一点。
TestNG 提供的一个重要功能是`DataProvider`功能。 它可以帮助您编写数据驱动的测试,这实际上意味着同一测试方法可以针对不同的数据集多次运行。 它有助于为测试方法提供复杂的参数,因为不可能从 XML 做到这一点。
#### [测试组,元组,默认组示例](//howtodoinjava.com/testng/testng-test-groups-meta-group-default-group-examples/ "TestNG – Test Groups, Meta Group, Default Group Examples")
......@@ -59,24 +59,24 @@ TestNG 提供的一个重要功能是 DataProvider 功能。 它可以帮助您
* 分组测试示例
* 通过 Eclipse 运行 TestNG 组
* 通过 testng.xml 运行 TestNG 组
* 通过`testng.xml`运行 TestNG 组
* 编写属于多个组的测试
* 包括和排除组
* 使用正则表达式
* 默认组
* 组群
#### [相关测试示例](//howtodoinjava.com/testng/testng-dependent-tests-examples/ "TestNG – Dependent Tests Examples")
#### [依赖测试示例](//howtodoinjava.com/testng/testng-dependent-tests-examples/ "TestNG – Dependent Tests Examples")
依赖项是 TestNG 中的一项功能,它允许测试方法依赖于单个或一组测试方法。 这将有助于执行要在测试方法之前执行的一组测试。 仅当“依赖方法”是同一类或任何继承的基类的一部分(即在扩展类时)时,方法依赖才有效。
#### [@Factory 注解](//howtodoinjava.com/testng/testng-factory-annotation-tutorial/ "TestNG – @Factory Annotation Tutorial")
#### [`@Factory`注解](//howtodoinjava.com/testng/testng-factory-annotation-tutorial/ "TestNG – @Factory Annotation Tutorial")
了解 TestNG 提供的@Factory 注解。 @Factory 允许根据某些数据集或条件在运行时创建测试。
了解 TestNG 提供的`@Factory`注解。 `@Factory`允许根据某些数据集或条件在运行时创建测试。
#### [@Factory 和@DataProvider 之间的区别](//howtodoinjava.com/testng/testng-difference-between-factory-and-dataprovider/ "TestNG – Difference between @Factory and @DataProvider")
#### [`@Factory`和`@DataProvider`之间的区别](//howtodoinjava.com/testng/testng-difference-between-factory-and-dataprovider/ "TestNG – Difference between @Factory and @DataProvider")
在学习 TestNG 时,许多人在阅读@DataProvider 和@Factory 注解时会感到困惑-什么时候使用什么? 还有什么更好的呢? 让我们看看它们的两个功能。
在学习 TestNG 时,许多人在阅读`@DataProvider``@Factory`注解时会感到困惑 - 什么时候使用什么? 还有什么更好的呢? 让我们看看它们的两个功能。
#### [执行并行测试](//howtodoinjava.com/testng/testng-executing-parallel-tests/ "TestNG – Executing Parallel Tests")
......@@ -92,6 +92,6 @@ TestNG 提供的一个重要功能是 DataProvider 功能。 它可以帮助您
#### [使用 Maven 构建](//howtodoinjava.com/testng/how-to-execute-testng-tests-with-maven-build/ "How to Execute TestNG Tests With Maven Build")执行 TestNG 测试
了解如何使用 Maven 构建文件(即 pom.xml 文件)执行 testng 测试。 如果您打算使测试自动化并使它们成为项目构建过程本身的一部分,则此知识很重要。
了解如何使用 Maven 构建文件(即`pom.xml`文件)执行 TestNG 测试。 如果您打算使测试自动化并使它们成为项目构建过程本身的一部分,则此知识很重要。
**祝您学习愉快!**
\ No newline at end of file
......@@ -2,9 +2,9 @@
> 原文: [https://howtodoinjava.com/testng/testng-tutorial-with-eclipse/](https://howtodoinjava.com/testng/testng-tutorial-with-eclipse/)
您可能知道 [**测试**](https://en.wikipedia.org/wiki/Software_testing "testing") 的过程是根据预期的工作方式来验证和验证某个软件或硬件是否在工作。 测试是 [**软件开发生命周期(SDLC)**](https://en.wikipedia.org/wiki/Systems_development_life_cycle "sdlc") 的重要组成部分,因为它有助于提高开发产品的质量。 测试有多种类型和级别,例如白盒,黑盒,单元,集成,系统,验收,性能,安全性,功能,非功能性等等。 这些类型的测试中的每一种都是使用自动化工具手动完成或通过自动化完成的。
您可能知道[**测试**](https://en.wikipedia.org/wiki/Software_testing "testing")的过程是根据预期的工作方式来验证和验证某个软件或硬件是否在工作。 测试是[**软件开发生命周期(SDLC)**](https://en.wikipedia.org/wiki/Systems_development_life_cycle "sdlc")的重要组成部分,因为它有助于提高开发产品的质量。 测试有多种类型和级别,例如白盒,黑盒,单元,集成,系统,验收,性能,安全性,功能,非功能性等等。 这些类型的测试中的每一种都是使用自动化工具手动完成或通过自动化完成的。
顾名思义, [**测试自动化**](https://en.wikipedia.org/wiki/Test_automation "Test_automation") 是指自动化测试过程。 测试自动化具有以多种方式运行测试的优势,例如以固定的间隔或作为应用构建的一部分。 这有助于在开发本身的初始阶段识别错误,从而缩短了产品时间线并提高了产品质量。 它还有助于减少重复的手动测试工作,并使手动测试团队能够专注于测试新功能和复杂场景。
顾名思义,[**测试自动化**](https://en.wikipedia.org/wiki/Test_automation "Test_automation")是指自动化测试过程。 测试自动化具有以多种方式运行测试的优势,例如以固定的间隔或作为应用构建的一部分。 这有助于在开发本身的初始阶段识别错误,从而缩短了产品时间线并提高了产品质量。 它还有助于减少重复的手动测试工作,并使手动测试团队能够专注于测试新功能和复杂场景。
```java
Table of Contents
......@@ -20,7 +20,7 @@ Running TestNG test
## TestNG 的介绍
[TestNG](http://testng.org/doc/index.html "testng") ,其中 **NG 代表“下一代”。**是受 [JUnit](//howtodoinjava.com/junit/ "JUnit Tutorials") (Java)和 NUnit(C#)启发的测试自动化框架。 它可以用于单元,功能,集成和端到端测试。 TestNG 在短时间内获得了很大的普及,并且是 Java 开发人员中使用最广泛的测试框架之一。 它主要使用 Java 注解来配置和编写测试方法。
[TestNG](http://testng.org/doc/index.html "testng"),其中 **NG 代表“下一代”**,是受 [JUnit](//howtodoinjava.com/junit/ "JUnit Tutorials") (Java)和 NUnit(C#)启发的测试自动化框架。 它可以用于单元,功能,集成和端到端测试。 TestNG 在短时间内获得了很大的普及,并且是 Java 开发人员中使用最广泛的测试框架之一。 它主要使用 Java 注解来配置和编写测试方法。
TestNG 在 JUnit 4 上具有的一些功能是:
......@@ -60,15 +60,15 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z
1)打开您的 Eclipse 应用。
2)转到**帮助| 安装新软件**
2)转到**帮助 | 安装新软件**
![Eclipse - Go to Help - Install New Software](img/097c5a5b5871613cdf2d65675eb02254.png)
3)**单击“使用”文本框旁边的“添加…”** 按钮
3)**单击“使用”文本框旁边的“添加…”按钮**
![Click on the Add](img/b1b10cb24bcb673a4d99dbf7362ff882.png)
4)**在名称框中输入 TestNG 站点,在位置**中输入 URL http://beust.com/eclipse。 完成后,单击“确定”按钮。
4)**在名称框中输入 TestNG 站点**,在位置中输入 URL `http://beust.com/eclipse`。 完成后,单击“确定”按钮。
![Enter TestNG site into the Name box](img/6b3208a691bcd5562c5b469be3e8860e.png)
......@@ -76,21 +76,21 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z
![Select TestNG and click on Next](img/cb5fc4dbeaf99e01b1f0667714fcc015.png)
6)**选择 TestNG,然后单击 Next**
6)**选择 TestNG,然后单击“Next”**
7)Eclipse 将计算下载所选 TestNG 插件的软件要求,并显示“安装详细信息”屏幕。 **在详细信息屏幕**上单击下一步
7)Eclipse 将计算下载所选 TestNG 插件的软件要求,并显示“安装详细信息”屏幕。 **在详细信息屏幕**上单击“下一步”
8)**接受许可信息,然后单击完成**。 这将开始将 TestNG 插件下载并安装到 Eclipse。
8)**接受许可信息,然后单击“完成”**。 这将开始将 TestNG 插件下载并安装到 Eclipse。
![download and installation of the TestNG](img/8a84779f4c65b35ec7b5ca59d6f18a44.png)
9)如果出现以下**警告窗口,请单击[确定]按钮**
9)如果出现以下**警告窗口**,请单击“确定”按钮
![TestNG warning window](img/0ba4bb623639f538471f9c7b47a710ac.png)
10)安装完成后,Eclipse 将提示您**重新启动它**。 在窗口提示上单击“是”。
11)重新启动 Eclipse 后,通过转至 Window | **来验证 TestNG 插件的安装**。 偏好。 您将在首选项窗口下看到一个 TestNG 部分。
11)重新启动 Eclipse 后,通过转至“窗口 | 偏好”**来验证 TestNG 插件的安装**。 您将在首选项窗口下看到一个 TestNG 部分。
![Verify the TestNG plugin installation](img/87691068f12b8588e1bebf21715482e0.png)
......@@ -100,28 +100,29 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z
在编写第一个 TestNG 测试之前,我们必须在 Eclipse 中创建一个 Java 项目并添加我们的 TestNG 测试依赖项。
1)转到**文件| 新增| 其他**。 将显示一个带有多个选项的窗口。
1)转到**文件 | 新增 | 其他**。 将显示一个带有多个选项的窗口。
2)**选择 Java 项目**,如以下屏幕截图所示,然后单击 Next
2)**选择 Java 项目**,如以下屏幕截图所示,然后单击“下一步”
![Select Java Project](img/43fd0744517a4c024281c24b6d8c0c88.png)
3)在下一个屏幕上,**输入 Java 项目的项目名称**,例如`TestNGExamples`,如以下屏幕截图所示,然后单击完成
3)在下一个屏幕上,**输入 Java 项目的项目名称**,例如`TestNGExamples`,如以下屏幕截图所示,然后单击“完成”
![Enter a Project name for a Java project](img/bb09f6123501a84c216f36a601cb6c5e.png)
这将在 Eclipse 中创建一个新的 Java 项目。
4)现在**转到项目| 属性****在“属性”窗口左侧选择 Java Build Path** ,如以下屏幕截图所示。 这将显示新创建的项目的构建路径。
4)现在**转到“项目 | 属性”****在“属性”窗口左侧选择“Java 构建路径”**,如以下屏幕截图所示。 这将显示新创建的项目的构建路径。
![Select Java Build Path](img/2601eb435822b920cb1411e9ee5e1b4b.png)
5)**单击库选项卡,然后单击添加库…**选项。
5)**单击库选项卡,然后单击“添加库…”选项**
6)在“添加库”窗口中选择 TestNG,如以下屏幕截图所示,然后单击“下一步”:
![Add Library](img/16ff1003f74dc09755c07d178e6f7f96.png)
7)**在下一个窗口中单击完成**。 这会将 TestNG 库添加到您的 Eclipse 项目中。
7)**在下一个窗口中单击“完成”**。 这会将 TestNG 库添加到您的 Eclipse 项目中。
![Click on Finish Adding TestNG](img/37aa42b846619751ffc85e8df98bd37d.png)
......@@ -131,7 +132,7 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z
执行以下步骤来创建您的第一个 TestNG 类:
1)**转到文件| 新增| 其他**。 这将在 Eclipse 中打开一个新的“添加”向导窗口。
1)**转到“文件 | 新增 | 其他”**。 这将在 Eclipse 中打开一个新的“添加”向导窗口。
![Add wizard window](img/2812c96248a8ae93d942513b96d544f6.png)
......@@ -139,11 +140,11 @@ TestNG Jar – [http://testng.org/testng-6.8.zip](http://testng.org/testng-6.8.z
![Add wizard window-2](img/6ac79d2063692df672eaa0454fd8715d.png)
3)在下一个窗口**上,单击浏览按钮**,然后选择需要在其中添加类的 Java 项目。
3)在下一个窗口上,**单击“浏览”按钮**,然后选择需要在其中添加类的 Java 项目。
![select the Java project](img/8f7db07862c937efbc89ddf1b9f79e29.png)
4)**输入包名称和测试类名称**,然后单击 Finish
4)**输入包名称和测试类名称**,然后单击“完成”
![Enter the package name](img/22b540eb7910fa9e5d5882741b4044f0.png)
......@@ -178,11 +179,11 @@ public class MyFirstTest {
执行以下步骤以通过 Eclipse 运行测试:
1)**在 Eclipse 中选择 Java 项目,然后转到 Run | 运行配置**
1)**在 Eclipse 中选择 Java 项目,然后转到“运行 | 运行配置”**
![Run Configuration for TestNG](img/fd51686d99a86ec80794db1dd09ab1d6.png)
2)**在给定的选项中选择 TestNG** ,然后单击**新建按钮以创建新配置**
2)**在给定的选项中选择 TestNG**,然后单击“新建”按钮以创建新配置
![Create new TestNG configuration](img/1790839124ed86bb44777a7ab5c1a6a7.png)
......@@ -196,7 +197,7 @@ public class MyFirstTest {
让我们输入配置名称`TestNGRunConfig`,然后在“类”部分下选择新创建的类,然后单击“应用”。
4)现在,如果您想运行新创建的配置,只需在单击[Apply ]之后单击**,然后单击 Run。 这将编译并运行我们编写的 TestNG 测试类。 测试执行的结果显示在 Eclipse 的“控制台”和“结果”窗口中,如以下屏幕快照所示。**
4)现在,如果您想运行新创建的配置,只需在单击“应用”之后单击“运行”。 这将编译并运行我们编写的 TestNG 测试类。 测试执行的结果显示在 Eclipse 的“控制台”和“结果”窗口中,如以下屏幕快照所示。
```java
[TestNG] Running:
......@@ -222,7 +223,7 @@ Total tests run: 1, Failures: 0, Skips: 0
```
您还可以通过选择测试类,然后右键单击它,从菜单中选择“运行方式”,然后选择 TestNG Test,来运行测试类。
您还可以通过选择测试类,然后右键单击它,从菜单中选择“运行方式”,然后选择“TestNG 测试”,来运行测试类。
![Run TestNG test class](img/3cc25d000ee5ee9ebe82fb18a5723ce6.png)
......@@ -232,4 +233,4 @@ Total tests run: 1, Failures: 0, Skips: 0
**祝您学习愉快!**
**参考**[http://testng.org/](http://testng.org/)
\ No newline at end of file
**参考**[http://testng.org/](http://testng.org/)
\ No newline at end of file
# 如何从 Maven 运行 testng.xml
# 如何从 Maven 运行`testng.xml`
> 原文: [https://howtodoinjava.com/testng/how-to-execute-testng-tests-with-maven-build/](https://howtodoinjava.com/testng/how-to-execute-testng-tests-with-maven-build/)
在此 **testng maven 示例**中,我们将学习**如何使用 [maven](https://howtodoinjava.com/maven/how-to-install-maven-on-windows/ "Maven Tutorials") 构建文件** `pom.xml`执行 testng 测试。 如果您打算**自动执行测试测试**,并使它们成为项目构建过程本身的一部分,则此知识很重要。
在此 **testng maven 示例**中,我们将学习**如何使用 [maven](https://howtodoinjava.com/maven/how-to-install-maven-on-windows/ "Maven Tutorials") 构建文件**`pom.xml`执行 testng 测试。 如果您打算**自动执行测试测试**,并使它们成为项目构建过程本身的一部分,则此知识很重要。
## 1\. 编写 TestNG 测试
......@@ -77,7 +77,7 @@ public class ParallelSuiteTest
```
## 2\. 编写 TestNG Suite
## 2\. 编写 TestNG 套件
让我们看看两个测试的 testng 套件文件`testng.xml``suites-test-testng.xml`
......@@ -176,13 +176,13 @@ public class ParallelSuiteTest
```
Maven 可以与任何连续集成系统一起使用。 插件 [**maven-surefire-plugin**](https://maven.apache.org/surefire/maven-surefire-plugin/ "maven surefire plugin") 用于**配置和执行测试**。 这里,所述插件用于为 TestNG 测试配置`testng.xml``suites-test-testng.xml`并生成测试报告。
Maven 可以与任何连续集成系统一起使用。 插件[**`maven-surefire-plugin`**](https://maven.apache.org/surefire/maven-surefire-plugin/ "maven surefire plugin")用于**配置和执行测试**。 这里,所述插件用于为 TestNG 测试配置`testng.xml``suites-test-testng.xml`并生成测试报告。
插件 [**maven-compiler-plugin**](//howtodoinjava.com/maven/solved-java-compiler-level-does-not-match-the-version-of-the-installed-java-project-facet/ "Solved: Java compiler level does not match the version of the installed Java project facet") 用于帮助编译代码并使用特定的 JDK 版本进行编译。
插件[**`maven-compiler-plugin`**](//howtodoinjava.com/maven/solved-java-compiler-level-does-not-match-the-version-of-the-installed-java-project-facet/ "Solved: Java compiler level does not match the version of the installed Java project facet")用于帮助编译代码并使用特定的 JDK 版本进行编译。
## 4\. TestNG Maven 示例
现在在命令提示符下使用命令“ `mvn test`”在`pom.xml`文件上方执行。 您将获得以下结果。
现在在命令提示符下使用命令“`mvn test`”在`pom.xml`文件上方执行。 您将获得以下结果。
```java
C:\somepath\TestNGExamples>mvn test
......
......@@ -7,21 +7,23 @@ TestNG 使用注解来帮助开发人员编写测试。 下表是包含有关 Te
## TestNG 测试配置注解
| 注解 | 描述 |
| [**@BeforeSuite**](https://static.javadoc.io/org.testng/testng/6.8.21/org/testng/annotations/BeforeSuite.html "BeforeSuite") | 带注解的方法将在 TestNG 套件内声明的任何测试之前执行。 |
| [**@AfterSuite**](http://testng.org/javadoc/org/testng/annotations/AfterSuite.html "AfterSuite") | 带注解的方法将在 TestNG 套件内声明的任何测试之后执行。 |
| [**@BeforeTest**](http://testng.org/javadoc/org/testng/annotations/BeforeTest.html "BeforeTest") | 带注解的方法将在 TestNG 套件中声明的每个测试节之前执行。 |
| --- | --- |
| [**`@BeforeSuite`**](https://static.javadoc.io/org.testng/testng/6.8.21/org/testng/annotations/BeforeSuite.html "BeforeSuite") | 带注解的方法将在 TestNG 套件内声明的任何测试之前执行。 |
| [**`@AfterSuite`**](http://testng.org/javadoc/org/testng/annotations/AfterSuite.html "AfterSuite") | 带注解的方法将在 TestNG 套件内声明的任何测试之后执行。 |
| [**`@BeforeTest`**](http://testng.org/javadoc/org/testng/annotations/BeforeTest.html "BeforeTest") | 带注解的方法将在 TestNG 套件中声明的每个测试节之前执行。 |
| [**@AfterTest**](http://testng.org/javadoc/org/testng/annotations/AfterTest.html "AfterTest") | 带注解的方法将在 TestNG 套件中声明的每个测试节之后执行。 |
| [**@BeforeGroups**](http://testng.org/javadoc/org/testng/annotations/BeforeGroups.html "BeforeGroups") | 带注解的 BeforeGroups 方法将在执行指定组的任何测试方法之前运行。 |
| [**@AfterGroups**](http://testng.org/javadoc/org/testng/annotations/AfterGroups.html "AfterGroups") | AfterGroups 带注解的方法将在指定组的任何测试方法执行后运行。 |
| [@BeforeClass](http://testng.org/javadoc/org/testng/annotations/BeforeClass.html "BeforeClass") | 带注解的 BeforeClass 方法在测试类的任何测试方法之前执行。 |
| [**@AfterClass**](http://testng.org/javadoc/org/testng/annotations/AfterClass.html "AfterClass") | 在执行测试类的每个测试方法之后,将执行 AfterClass 带注解的方法。 |
| [**`@BeforeGroups`**](http://testng.org/javadoc/org/testng/annotations/BeforeGroups.html "BeforeGroups") | 带注解的方法将在执行指定组的任何测试方法之前运行。 |
| [**`@AfterGroups`**](http://testng.org/javadoc/org/testng/annotations/AfterGroups.html "AfterGroups") | 带注解的方法将在指定组的任何测试方法执行后运行。 |
| [`@BeforeClass`](http://testng.org/javadoc/org/testng/annotations/BeforeClass.html "BeforeClass") | 带注解的方法在测试类的任何测试方法之前执行。 |
| [**`@AfterClass`**](http://testng.org/javadoc/org/testng/annotations/AfterClass.html "AfterClass") | 在执行测试类的每个测试方法之后,将执行带注解的方法。 |
| [@BeforeMethod](http://testng.org/javadoc/org/testng/annotations/BeforeMethod.html "BeforeMethod") | 这些带注解的方法在每个测试方法执行之前执行。 |
| [**@AfterMethod**](http://testng.org/javadoc/org/testng/annotations/AfterMethod.html "AfterMethod") | 这些带注解的方法在每个测试方法执行后执行。 |
| [**@DataProvider**](http://testng.org/javadoc/org/testng/annotations/DataProvider.html "DataProvider") | 将方法标记为测试方法的数据提供方法。 所述方法必须返回对象双精度数组(Object [] [])作为数据。 |
| [**@Factory**](http://testng.org/javadoc/org/testng/annotations/Factory.html "Factory") | 将带注解的方法标记为返回类对象数组(Object [])的工厂。 然后,这些类对象将被 TestNG 用作测试类。 这用于运行一组具有不同值的测试用例。 |
| [**@Listeners**](http://testng.org/javadoc/org/testng/annotations/Listeners.html "Listeners") | 应用于测试类。 定义一组扩展 org.testng.ITestNGListener 的测试监听器类。 帮助跟踪执行状态和记录目的。 |
| [**@参数**](http://testng.org/javadoc/org/testng/annotations/Parameters.html "Parameters") | 此注解用于将参数传递给测试方法。 这些参数值在运行时使用 testng.xml 配置文件提供。 |
| [**@测试**](https://static.javadoc.io/org.testng/testng/6.8.21/org/testng/annotations/Test.html "Test") | 将类或方法标记为测试方法。 如果在类级别使用,则类的所有公共方法都将被视为测试方法。 |
| [**`@AfterMethod`**](http://testng.org/javadoc/org/testng/annotations/AfterMethod.html "AfterMethod") | 这些带注解的方法在每个测试方法执行后执行。 |
| [**`@DataProvider`**](http://testng.org/javadoc/org/testng/annotations/DataProvider.html "DataProvider") | 将方法标记为测试方法的数据提供方法。 所述方法必须返回对象双数组(`Object[][]`)作为数据。 |
| [**`@Factory`**](http://testng.org/javadoc/org/testng/annotations/Factory.html "Factory") | 将带注解的方法标记为返回类对象数组(`Object[]`)的工厂。 然后,这些类对象将被 TestNG 用作测试类。 这用于运行一组具有不同值的测试用例。 |
| [**`@Listeners`**](http://testng.org/javadoc/org/testng/annotations/Listeners.html "Listeners") | 应用于测试类。 定义一组扩展`org.testng.ITestNGListener`的测试监听器类。 帮助跟踪执行状态和记录目的。 |
| [**`Parameters`**](http://testng.org/javadoc/org/testng/annotations/Parameters.html "Parameters") | 此注解用于将参数传递给测试方法。 这些参数值在运行时使用`testng.xml`配置文件提供。 |
| [**`Test`**](https://static.javadoc.io/org.testng/testng/6.8.21/org/testng/annotations/Test.html "Test") | 将类或方法标记为测试方法。 如果在类级别使用,则类的所有公共方法都将被视为测试方法。 |
当您感到困惑时,请参考 **TestNG 注解**的表格。
**祝您学习愉快!**
\ No newline at end of file
**祝您学习愉快!**
\ No newline at end of file
......@@ -14,7 +14,7 @@
## 预期异常测试示例
在下面的测试中,我们有两种测试方法,即`exceptionTestOne()``exceptionTestTwo()`。 这里`exceptionTestOne()`抛出`IOException`,而`exceptionTestTwo()`抛出`Exception`。 在使用 Test 注解时,使用 ***ExpectedExceptions*** 属性值提到了在运行这些测试时验证的预期异常。
在下面的测试中,我们有两种测试方法,即`exceptionTestOne()``exceptionTestTwo()`。 这里`exceptionTestOne()`抛出`IOException`,而`exceptionTestTwo()`抛出`Exception`。 在使用`Test`注解时,使用`ExpectedExceptions`属性值提到了在运行这些测试时验证的预期异常。
```java
public class ExceptionTestDemo
......@@ -85,11 +85,11 @@ Caused by: java.lang.Exception
```
从测试结果中可以看出,[NGT0]在执行期间被 TestNG 标记为失败。 测试失败,因为所述方法引发的异常与 ***ExpectedExceptions*** 列表中提供的异常列表不匹配。
从测试结果中可以看出,`exceptionTestTwo()`在执行期间被 TestNG 标记为失败。 测试失败,因为所述方法引发的异常与`ExpectedExceptions`列表中提供的异常列表不匹配。
## 带有验证消息的预期异常测试的示例
您还可以根据测试引发的异常消息来验证测试。 正则表达式也可以用于验证错误消息,可以使用`.*.`完成此操作,具体取决于正则表达式的位置,我们可以在验证时使用它进行模式匹配,例如开始,包含,结束于 异常消息
您还可以根据测试引发的异常消息来验证测试。 正则表达式也可以用于验证错误消息,可以使用`.*.`完成此操作,具体取决于正则表达式的位置,我们可以在验证异常消息时使用它进行模式匹配,例如开始,包含,结束于
让我们学习如何根据抛出的异常消息编写异常测试。
......@@ -114,7 +114,7 @@ public class ExceptionTestDemo
```
Output of above test run is given below:
以上测试运行的输出如下:
```java
[TestNG] Running: C:\Users\somepath\testng-customsuite.xml
......
......@@ -2,7 +2,7 @@
> 原文: [https://howtodoinjava.com/typescript/maps/](https://howtodoinjava.com/typescript/maps/)
**映射**是 ES6 中引入的新数据结构。 它允许您存储类似于其他编程语言的键值对,例如 Java,C
**映射**是 ES6 中引入的新数据结构。 它允许您存储类似于其他编程语言的键值对,例如 Java,C#
## 建立映射
......
......@@ -2,7 +2,7 @@
> 原文: [https://howtodoinjava.com/typescript/sets/](https://howtodoinjava.com/typescript/sets/)
`Set`是 ES6 中引入的新数据结构,类似于`Map`。 它允许您将不同的值存储到类似于其他编程语言的列表中 Java,C
`Set`是 ES6 中引入的新数据结构,类似于`Map`。 它允许您将不同的值存储到类似于其他编程语言的列表中 Java,C#
## 创建集
......
......@@ -12,7 +12,7 @@ Transpiler 或**源到源编译器**是读取用一种编程语言编写的源
功能很棒,但是大多数浏览器直到现在都不支持该规范。 因此,用 ES6 编写的任何 UI 应用规范都无法在大多数浏览器中运行。 要运行这些应用,必须将此 ES6 源代码转换为受支持的 JavaScript 版本 ES5。 几乎所有浏览器都支持 ES5,并且是迄今为止最稳定的版本。
> **ES6** –为 JavaScript 带来“类型”。 使它更接近强类型语言,例如 Java,C。 到目前为止,大多数浏览器都不支持它。 必须将其转换为 ES5 才能在浏览器中执行。
> **ES6** –为 JavaScript 带来“类型”。 使它更接近强类型语言,例如 Java,C#。 到目前为止,大多数浏览器都不支持它。 必须将其转换为 ES5 才能在浏览器中执行。
>
> **ES5** –这些年来,我们一直在编写 Vanilla JavaScript。
......
......@@ -32,7 +32,7 @@ console.log( undeclaredVar ); //Uncaught ReferenceError: undeclaredVar is not de
## 空值
`null`表示故意缺乏价值。 从概念上讲,它与 Java,C等其他编程语言中的`null`非常相似。`null`表示缺少标识,表示变量指向没有对象。
`null`表示故意缺乏价值。 从概念上讲,它与 Java,C#等其他编程语言中的`null`非常相似。`null`表示缺少标识,表示变量指向没有对象。
```java
var myVar = null; //Variable declared and assigned to null
......
......@@ -89,7 +89,7 @@ Android Developer Tools 插件将为您提供适合您的应用的启动文件
查看项目的 libs /目录。 如果该目录存在,并且其中存在 JAR(可能名为 ***android-support-v4.jar*** ),请将其删除。 但是,将空库/留在那里。
## 步骤3:运行项目
## 步骤#3:运行项目
现在,我们可以通过在设备或仿真器上运行项目来确认我们的项目已正确设置。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册