Skip to content

Commit 95ef3ac

Browse files
committed
docs: 单元测试
1 parent efb282d commit 95ef3ac

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

laravel/readme/25. 2019-06-10-Laravel 基于 PHPUnit 的单元测试.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## 25. 2019-06-10-Laravel 基于 PHPUnit 的单元测试
2-
2+
![]()
33
### 简介
44
介绍完 `PHPUnit` 的基本使用和 `Laravel` 框架自带的编排文件 `phpunit.xml` 文件,今天开始我们正式准备在 `Laravel` 项目中基于 `PHPUnit` 编写单元测试和功能测试,通过上篇教程介绍的编排文件我们知道,`Laravel` 的单元测试用例位于 `tests/Unit` 目录下,框架本身也为我们提供了一个示例测试文件 `ExampleTest.php`
55

@@ -58,7 +58,7 @@ public function testVariables()
5858
相应的断言用途在注释中已经说明了,我们可以对各种类型的变量从各种维度进行断言,甚至还可以对文件、目录、正则表达式进行断言,并且很多断言都可以从正反两个方法进行,相关的调用都很简单,你可以在需要的时候查看官方文档选择相应的断言方法:[https://phpunit.readthedocs.io/zh_CN/latest/assertions.html](https://phpunit.readthedocs.io/zh_CN/latest/assertions.html)
5959

6060
运行上面的测试用例,结果如下,每个测试方法都代表一个测试用例,所以上面的单元测试包含两个测试用例,7 个断言:
61-
61+
![](https://laravelacademy.org/wp-content/uploads/2019/04/bf994a00b10110aafad3ba8a7c71183b.jpg)
6262

6363

6464
### 对输出进行测试
@@ -82,7 +82,7 @@ public function testOutputRegex()
8282
```
8383

8484
上述测试结果都是通过的:
85-
85+
![](https://laravelacademy.org/wp-content/uploads/2019/04/e9d093eb986aea2cf958f458ef2d268c.jpg)
8686

8787

8888
### 对异常进行测试
@@ -111,7 +111,7 @@ public function testException()
111111
}
112112
```
113113
运行测试用例,结果为通过:
114-
114+
![](https://laravelacademy.org/wp-content/uploads/2019/04/2c0834c755a480784d0b6318b4842661.jpg)
115115

116116

117117
如果传入的抛出异常类的是父类,也会通过:
@@ -150,7 +150,7 @@ protected function setUp(): void
150150
```
151151

152152
上面两个测试用例从功能上说是等价的:
153-
153+
![]()
154154

155155

156156
### 对错误进行测试
@@ -232,7 +232,7 @@ public function testIsStackContains()
232232
然后我们在需要用到这个数据提供器的测试用例上用 `@dataProvider` 注解进行声明,在这个示例中我们迭代数据提供器数组,将其中的数据作为参数传入 `TestService``stackContains` 方法以判断对应值在 `stack` 属性中是否存在。
233233

234234
以下是上述用例运行结果:
235-
235+
![]()
236236

237237

238238
关于 `Laravel` 基于 `PHPUnit` 编写单元测试用例我们就简单介绍到这里,在这篇教程中我们基本上使用的都是 `PHPUnit` 提供的原生测试功能,下一篇我们将围绕 `Laravel` 功能测试展开,主要是对控制器和 `API` 接口的测试,在那里,我们将开始就 `Laravel` 框架在 `PHPUnit` 基础上封装的新功能新特性进行介绍。

0 commit comments

Comments
 (0)