Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
howtodoinjava-zh
提交
5d07f5c7
H
howtodoinjava-zh
项目概览
OpenDocCN
/
howtodoinjava-zh
大约 1 年 前同步成功
通知
1
Star
82
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
howtodoinjava-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5d07f5c7
编写于
6月 05, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-06-05 16:50:37
上级
41041887
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
52 addition
and
52 deletion
+52
-52
docs/misc/166.md
docs/misc/166.md
+7
-7
docs/misc/167.md
docs/misc/167.md
+13
-13
docs/misc/168.md
docs/misc/168.md
+8
-8
docs/misc/169.md
docs/misc/169.md
+18
-18
docs/misc/170.md
docs/misc/170.md
+6
-6
未找到文件。
docs/misc/166.md
浏览文件 @
5d07f5c7
# JUnit 5
@Disabled
测试示例
# JUnit 5
`@Disabled`
测试示例
> 原文: [https://howtodoinjava.com/junit5/junit-5-disabled-test-example/](https://howtodoinjava.com/junit5/junit-5-disabled-test-example/)
**JUnit [@Disabled](http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html)**
注解可用于禁用测试套件中的测试方法。 该注释可以应用于测试类以及各个测试方法。
JUnit
[
`@Disabled`
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html
)
注解可用于禁用测试套件中的测试方法。 该注释可以应用于测试类以及各个测试方法。
它仅接受
**一个可选参数**
,它指示此测试被禁用的原因。
##
@禁用的测试类别
##
`@Disabled`的测试类
将
`@Disabled`
应用于测试类
别时,
**该类别
中的所有测试方法也会自动禁用**
。
将
`@Disabled`
应用于测试类
时,
**该类
中的所有测试方法也会自动禁用**
。
```
java
import
org.junit.jupiter.api.Assumptions
;
...
...
@@ -37,13 +37,13 @@ public class AppTest {
![
JUnit 5 Disabled Annotation Over Class
](
img/f89d2d61b89111d2a3f783c12bf6ddb4.png
)
JUnit 5
Disabled Annotation Over Class
JUnit 5
类上的
`@Disabled`
注解
请注意运行次数:2/2(跳过 2 个)。 显然,两个测试都被禁用,因此不执行。
## JUnit 5
@Disabled
测试方法
## JUnit 5
`@Disabled`
测试方法
`@Disabled`
用于表示当前已禁用带注释的
**测试方法,因此不应执行**
。
...
...
@@ -74,7 +74,7 @@ public class AppTest {
![
JUnit 5 Disabled Annotation Over Method
](
img/ca156a5524c6e5b84062a6eadb029648.png
)
JUnit 5
Disabled Annotation Over Method
JUnit 5
方法上的
`@Disabled`
注解
...
...
docs/misc/167.md
浏览文件 @
5d07f5c7
# JUnit 5
@Tag
注释示例
# JUnit 5
`@Tag`
注释示例
> 原文: [https://howtodoinjava.com/junit5/junit-5-tag-annotation-example/](https://howtodoinjava.com/junit5/junit-5-tag-annotation-example/)
JUnit 5
[
@Tag
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Tag.html
)
可用于从测试计划中过滤测试用例。 它可以帮助针对不同的环境,不同的用例或任何特定要求创建多个不同的测试计划。 您可以通过仅在测试计划中包括那些标记的测试或通过从测试计划中排除其他测试来执行测试集。
JUnit 5
[
`@Tag`
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Tag.html
)
可用于从测试计划中过滤测试用例。 它可以帮助针对不同的环境,不同的用例或任何特定要求创建多个不同的测试计划。 您可以通过仅在测试计划中包括那些标记的测试或通过从测试计划中排除其他测试来执行测试集。
## 1\.
@Tag
注释用法
## 1\.
`@Tag`
注释用法
1.
我们可以将
**应用于测试类或测试方法或同时应用于
**
。
1.
我们可以将
其
**应用于测试类或测试方法或同时应用
**
。
```java
@Tag("development")
...
...
@@ -34,9 +34,9 @@ JUnit 5 [@Tag](http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Ta
```
## 2\. 使用
@IncludeTags 和@ExcludeTags
创建测试计划
## 2\. 使用
`@IncludeTags`和`@ExcludeTags`
创建测试计划
我们可以在测试计划中使用
[
@IncludeTags
](
http://junit.org/junit5/docs/current/api/index.html?org/junit/platform/runner/IncludeTags.html
)
或
[
@ExcludeTags
](
http://junit.org/junit5/docs/current/api/index.html?org/junit/platform/runner/ExcludeTags.html
)
注解来过滤测试或包括测试。
我们可以在测试计划中使用
[
`@IncludeTags`
](
http://junit.org/junit5/docs/current/api/index.html?org/junit/platform/runner/IncludeTags.html
)
或
[
`@ExcludeTags`
](
http://junit.org/junit5/docs/current/api/index.html?org/junit/platform/runner/ExcludeTags.html
)
注解来过滤测试或包括测试。
```
java
//@IncludeTags example
...
...
@@ -59,7 +59,7 @@ public class MultipleTagsExample
```
要添加多个标签,请在所需注释中传递标签的
*字符串数组
。*
要添加多个标签,请在所需注释中传递标签的
*字符串数组
*
。
```
java
@RunWith
(
JUnitPlatform
.
class
)
...
...
@@ -71,9 +71,9 @@ public class MultipleTagsExample
```
We CAN NOT include both @IncludeTags and @ExcludeTags annotations in single test plan.
我们不能在单个测试计划中同时包含
`@IncludeTags`
和
`@ExcludeTags注`
解。
## 3\. JUnit 5
@Tag
示例
## 3\. JUnit 5
`@Tag`
示例
假设我们有 3 个测试,并且我们想在开发环境中运行全部 3 个测试; 但只想在生产中运行一个。 因此,我们将标记测试如下:
...
...
@@ -107,7 +107,7 @@ public class ClassCTest
让我们为两种环境创建测试计划。
####
测试在生产环境中运行
####
在生产环境中运行测试
```
java
@RunWith
(
JUnitPlatform
.
class
)
...
...
@@ -121,11 +121,11 @@ public class ProductionTests
![
JUnit 5 @Tag Example - Production Tests
](
img/b9653a407e8fca6e0439e9b25f72b3c3.png
)
JUnit 5
@Tag Example – Production Tests
JUnit 5
`@Tag`
示例 – 生产测试
####
测试在开发环境中运行
####
在开发环境中运行测试
```
java
@RunWith
(
JUnitPlatform
.
class
)
...
...
@@ -139,7 +139,7 @@ public class DevelopmentTests
![
JUnit 5 @Tag Example - Development Tests
](
img/da0d6710958d1a488cf312e55059eaff.png
)
JUnit 5
@Tag Example – Development Tests
JUnit 5
`@Tag`
示例 – 开发测试
...
...
docs/misc/168.md
浏览文件 @
5d07f5c7
# JUnit 5 预期的异常
– assertThrows()
示例
# JUnit 5 预期的异常
– `assertThrows()`
示例
> 原文: [https://howtodoinjava.com/junit5/expected-exception-example/](https://howtodoinjava.com/junit5/expected-exception-example/)
在 JUnit 5 中,要
*测试异常情况*
,则应使用
[
org.junit.jupiter.api.Assertions.assertThrows()
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assertions.html#assertThrows-java.lang.Class-org.junit.jupiter.api.function.Executable-
)
方法。
*junit 5 异常测试*
还有其他方法,但我建议避免使用它们。
在 JUnit 5 中,要
*测试异常情况*
,则应使用
[
`org.junit.jupiter.api.Assertions.assertThrows()`
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assertions.html#assertThrows-java.lang.Class-org.junit.jupiter.api.function.Executable-
)
方法。
*junit 5 异常测试*
还有其他方法,但我建议避免使用它们。
## 1\. Junit 5
assertThrows()
的语法
## 1\. Junit 5
`assertThrows()`
的语法
它断言所提供的
`executable`
的执行将引发
`expectedType`
的异常并返回该异常。
...
...
@@ -14,7 +14,7 @@ public static <T extends Throwable> T assertThrows(Class<T> expectedType, Execut
**如果没有引发异常,或者引发了其他类型的异常,则此方法将失败。**
请注意,允许使用相同类型的异常。 例如 如果您期望
`NumberFormatException`
并且抛出
`IllegalArgumentException`
,那么该测试也会通过,因为
**NumberFormatException 扩展了 IllegalArgumentException**
类。
请注意,允许使用相同类型的异常。 例如 如果您期望
`NumberFormatException`
并且抛出
`IllegalArgumentException`
,那么该测试也会通过,因为
`NumberFormatException`
扩展了
`IllegalArgumentException`
类。
## 2\. JUnit 5 预期异常示例
...
...
@@ -32,9 +32,9 @@ void testExpectedException() {
```
如果参数不是有效数字,则此处的可执行代码为
`Integer.parseInt("One")`
引发
`NumberFormatException`
。 在上述代码中,
`"One"`
不是有效数字,因此代码将引发
`assertThrows()`
方法所期望的异常
-
因此测试通过。
如果参数不是有效数字,则此处的可执行代码为
`Integer.parseInt("One")`
引发
`NumberFormatException`
。 在上述代码中,
`"One"`
不是有效数字,因此代码将引发
`assertThrows()`
方法所期望的异常
-
因此测试通过。
## 3\.
期望
异常类的超类型
## 3\.
预期
异常类的超类型
如前所述,您也可以期望异常类的超类型。 例如 上面的测试也可以用
`IllegalArgumentException`
编写。
...
...
@@ -52,7 +52,7 @@ void testExpectedExceptionWithSuperType() {
该测试用例也将通过。
## 4\.
期待其他
异常类
## 4\.
其他预期
异常类
如果可执行代码
**抛出任何其他异常类型**
,则测试将失败;否则,测试将失败。 甚至
**如果测试没有引发任何异常**
,那么测试也会失败。
...
...
@@ -131,7 +131,7 @@ Eclipse 测试结果如下图所示:
![
JUnit 5 Expected Exception Tests
](
img/d4f22108b773fc944929b8a82ae7eb7f.png
)
JUnit 5
Expected Exception Tests
JUnit 5
预期异常测试
...
...
docs/misc/169.md
浏览文件 @
5d07f5c7
...
...
@@ -2,7 +2,7 @@
> 原文: [https://howtodoinjava.com/junit5/junit-5-assertions-examples/](https://howtodoinjava.com/junit5/junit-5-assertions-examples/)
**JUnit 5 断言**
帮助用测试用例的实际输出来验证期望的输出。 为简单起见,所有
**JUnit Jupiter 断言**
是
[
org.junit.jupiter.Assertions
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assertions.html
)
类中的静态方法。
**JUnit 5 断言**
帮助用测试用例的实际输出来验证期望的输出。 为简单起见,所有
**JUnit Jupiter 断言**
是
[
`org.junit.jupiter.Assertions`
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assertions.html
)
类中的静态方法。
```
java
Table
of
Contents
...
...
@@ -19,9 +19,9 @@ Assertions.assertThrows()
Assertions
.
fail
()
```
##
Assertions.assertEquals()和 Assertions.assertNotEquals()
示例
##
`Assertions.assertEquals()`和`Assertions.assertNotEquals()`
示例
使用
`Assertions.assertEquals()`
断言
**期望值
和实际值等于**
。
`assertEquals()`
针对不同的数据类型(例如, int,short,float,char 等。它还支持传递传递的错误消息,以防万一测试失败。 例如
使用
`Assertions.assertEquals()`
断言
**期望值
等于实际值**
。
`assertEquals()`
针对不同的数据类型(例如,
`int`
,
`short`
,
`float`
,
`char`
等。它还支持传递传递的错误消息,以防万一测试失败。 例如:
```
java
public
static
void
assertEquals
(
int
expected
,
int
actual
)
...
...
@@ -45,7 +45,7 @@ void testCase()
```
类似地,
`Assertions.assertNotEquals()`
方法用于断言
**期望值
和实际值不等于
**
。 与
`assertEquals()`
相比,
`assertNotEquals()`
不会针对不同的数据类型重载方法,而仅接受
`Object`
。
类似地,
`Assertions.assertNotEquals()`
方法用于断言
**期望值
不等于实际值
**
。 与
`assertEquals()`
相比,
`assertNotEquals()`
不会针对不同的数据类型重载方法,而仅接受
`Object`
。
```
java
public
static
void
assertNotEquals
(
Object
expected
,
Object
actual
)
...
...
@@ -69,9 +69,9 @@ void testCase()
```
##
Assertions.assertArrayEquals()
示例
##
`Assertions.assertArrayEquals()`
示例
与
`assertEquals()`
相似,
assertArrayEquals()对数组执行相同的操作,即断言
**期望数组与实际数组等于**
。 它还具有针对不同数据类型的重载方法,例如
`boolean[]`
,
`char[]`
,
`int[]`
等。它还支持在测试失败的情况下传递要打印的错误消息。 例如
与
`assertEquals()`
相似,
`assertArrayEquals()`
对数组执行相同的操作,即断言
**期望数组等于实际数组**
。 它还具有针对不同数据类型的重载方法,例如
`boolean[]`
,
`char[]`
,
`int[]`
等。它还支持在测试失败的情况下传递要打印的错误消息。 例如:
```
java
public
static
void
assertArrayEquals
(
int
[]
expected
,
int
[]
actual
)
...
...
@@ -94,9 +94,9 @@ void testCase()
```
##
Assertions.assertIterableEquals()
示例
##
`Assertions.assertIterableEquals()`
示例
它断言
**期望和实际的可迭代项
非常
相等**
。 高度相等意味着集合中元素的数量和顺序必须相同; 以及迭代元素必须相等。
它断言
**期望和实际的可迭代项
高度
相等**
。 高度相等意味着集合中元素的数量和顺序必须相同; 以及迭代元素必须相等。
它还有 3 种重载方法。
...
...
@@ -127,7 +127,7 @@ void testCase()
```
##
Assertions.assertLinesMatch()
示例
##
`Assertions.assertLinesMatch()`
示例
它断言
**期望的字符串列表与实际列表**
相匹配。 将一个字符串与另一个字符串匹配的逻辑是:
...
...
@@ -146,9 +146,9 @@ void testCase()
```
##
Assertions.assertNotNull()和 Assertions.assertNull()
示例
##
`Assertions.assertNotNull()`和`Assertions.assertNull()`
示例
`assertNotNull()`
断言
**actual 不为空**
。 类似地,
`assertNull()`
方法断言
**actual
为空**
。 两者都有三种重载方法。
`assertNotNull()`
断言
**实际值不为空**
。 类似地,
`assertNull()`
方法断言
**实际值
为空**
。 两者都有三种重载方法。
```
java
public
static
void
assertNotNull
(
Object
actual
)
...
...
@@ -182,9 +182,9 @@ void testCase()
```
##
Assertions.assertNotSame()和 Assertions.assertSame()
示例
##
`Assertions.assertNotSame()`和 `Assertions.assertSame()`
示例
`assertNotSame()`
断言
**预期
的和实际的不引用同一对象。**
。 同样,
`assertSame()`
方法断言,
**预期和实际指的是完全相同的对象。**
。 两者都有三种重载方法。
`assertNotSame()`
断言
**预期
和实际不引用同一对象**
。 同样,
`assertSame()`
方法断言,
**预期和实际引用完全相同的对象**
。 两者都有三种重载方法。
```
java
public
static
void
assertNotSame
(
Object
actual
)
...
...
@@ -219,7 +219,7 @@ void testCase()
```
##
Assertions.assertTimeout()和 Assertions.assertTimeoutPreemptively()
示例
##
`Assertions.assertTimeout()`和 `Assertions.assertTimeoutPreemptively()`
示例
`assertTimeout()`
和
`assertTimeoutPreemptively()`
均用于测试长时间运行的任务。 如果测试用例中的给定任务花费的时间超过指定的持续时间,则测试将失败。
...
...
@@ -257,9 +257,9 @@ void testCase() {
```
##
Assertions.assertTrue()和 Assertions.assertFalse()
示例
##
`Assertions.assertTrue()`和`Assertions.assertFalse()`
示例
`assertTrue()`
断言
`BooleanSupplier`
提供的
`supplied condition is true`
或布尔
条件为真。 类似地,
`assertFalse()`
断言
**提供的条件为假**
。 它具有以下重载方法:
`assertTrue()`
断言
`BooleanSupplier`
提供的条件为真。 类似地,
`assertFalse()`
断言
**提供的条件为假**
。 它具有以下重载方法:
```
java
public
static
void
assertTrue
(
boolean
condition
)
...
...
@@ -305,7 +305,7 @@ private static boolean getResult () {
```
##
Assertions.assertThrows()
示例
##
`Assertions.assertThrows()`
示例
它断言所提供的
`Executable`
的执行将引发
`expectedType`
的异常并返回该异常。
...
...
@@ -325,7 +325,7 @@ void testCase() {
```
##
Assertions.fail()
示例
##
`Assertions.fail()`
示例
`fail()`
方法仅使测试失败。 它具有以下重载方法:
...
...
docs/misc/170.md
浏览文件 @
5d07f5c7
...
...
@@ -2,11 +2,11 @@
> 原文: [https://howtodoinjava.com/junit5/junit-5-assumptions-examples/](https://howtodoinjava.com/junit5/junit-5-assumptions-examples/)
**JUnit 5 假设**
类提供静态方法来支持基于假设的条件测试执行。 假设失败会导致测试中止。
[
假设
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assumptions.html
)
通常在继续执行给定测试方法没有意义的情况下使用。 在测试报告中,这些测试将被标记为通过。
JUnit 5
`Assumptions`
类提供静态方法来支持基于假设的条件测试执行。 假设失败会导致测试中止。
[
假设
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assumptions.html
)
通常在继续执行给定测试方法没有意义的情况下使用。 在测试报告中,这些测试将被标记为通过。
JUnit jupiter
`Assumptions`
类具有两个这样的方法:
`assumeFalse()`
和
`assumeTrue()`
。
A third method
[
assumeThat()
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assumptions.html#assumingThat-boolean-org.junit.jupiter.api.function.Executable-
)
is in
`Experimental`
state and might be confirmed in future.
第三个方法
[
`assumeThat()`
](
http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assumptions.html#assumingThat-boolean-org.junit.jupiter.api.function.Executable-
)
处于
`Experimental`
状态并且可能在未来得到确认。
```
java
Table
of
Contents
...
...
@@ -15,9 +15,9 @@ Assumptions.assumeTrue()
Assumptions
.
assumeFalse
()
```
## JUnit 5 的
Assumptions.assumeTrue()
## JUnit 5 的
`Assumptions.assumeTrue()`
`assumeTrue()`
验证给定的假设为
true,如果假设为 true
,则进行测试,否则测试执行将中止。
`assumeTrue()`
验证给定的假设为
`true`
,如果假设为
`true`
,则进行测试,否则测试执行将中止。
它具有以下重载方法。
...
...
@@ -56,11 +56,11 @@ public class AppTest {
```
## JUnit 5 的
Assumptions.assumeFalse()
## JUnit 5 的
`Assumptions.assumeFalse()`
`assumeFalse()`
会验证给定的假设是否为假,如果假设为假,则执行测试,否则测试执行将中止。 它的工作与
`assumeTrue()`
相反。
It has following overloaded methods.
它具有以下重载方法。
```
java
public
static
void
assumeFalse
(
boolean
assumption
)
throws
TestAbortedException
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录