|
6 | 6 | 编写 PHPUnit 测试
|
7 | 7 | =============
|
8 | 8 |
|
9 |
| -:numref:`writing-tests-for-phpunit.examples.StackTest.php`展示了如何用 PHPUnit 编写测试来对 PHP 数组操作进行测试。本例介绍了用 PHPUnit 编写测试的基本惯例与步骤: |
| 9 | +:numref:`writing-tests-for-phpunit.examples.StackTest.php` 展示了如何用 PHPUnit 编写测试来对 PHP 数组操作进行测试。本例介绍了用 PHPUnit 编写测试的基本惯例与步骤: |
10 | 10 |
|
11 | 11 | #.
|
12 | 12 |
|
|
24 | 24 |
|
25 | 25 | #.
|
26 | 26 |
|
27 |
| - 在测试方法内,类似于 ``assertEquals()``(参见 :ref:`appendixes.assertions`)这样的断言方法用来对实际值与预期值的匹配做出断言。 |
| 27 | + 在测试方法内,类似于 ``assertSame()`` (参见 :ref:`appendixes.assertions`) 这样的断言方法用来对实际值与预期值的匹配做出断言。 |
28 | 28 |
|
29 | 29 | .. code-block:: php
|
30 | 30 | :caption: 用 PHPUnit 测试数组操作
|
@@ -73,7 +73,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
73 | 73 |
|
74 | 74 | 消费者(consumer),是依赖于一个或多个生产者及其返回值的测试方法。
|
75 | 75 |
|
76 |
| -:numref:`writing-tests-for-phpunit.examples.StackTest2.php`展示了如何用 ``@depends`` 标注来表达测试方法之间的依赖关系。 |
| 76 | +:numref:`writing-tests-for-phpunit.examples.StackTest2.php` 展示了如何用 ``@depends`` 标注来表达测试方法之间的依赖关系。 |
77 | 77 |
|
78 | 78 | .. code-block:: php
|
79 | 79 | :caption: 用 ``@depends`` 标注来表达依赖关系
|
@@ -121,7 +121,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
121 | 121 |
|
122 | 122 | 默认情况下,生产者所产生的返回值将“原样”传递给相应的消费者。这意味着,如果生产者返回的是一个对象,那么传递给消费者的将是一个指向此对象的引用。如果需要传递对象的副本而非引用,则应当用 @depends clone 替代 @depends。
|
123 | 123 |
|
124 |
| -为了快速定位缺陷,我们希望把注意力集中于相关的失败测试上。这就是为什么当某个测试所依赖的测试失败时,PHPUnit 会跳过这个测试。通过利用测试之间的依赖关系,缺陷定位得到了改进,如:numref:`writing-tests-for-phpunit.examples.DependencyFailureTest.php`中所示。 |
| 124 | +为了快速定位缺陷,我们希望把注意力集中于相关的失败测试上。这就是为什么当某个测试所依赖的测试失败时,PHPUnit 会跳过这个测试。通过利用测试之间的依赖关系,缺陷定位得到了改进,如 :numref:`writing-tests-for-phpunit.examples.DependencyFailureTest.php` 中所示。 |
125 | 125 |
|
126 | 126 | .. code-block:: php
|
127 | 127 | :caption: 利用测试之间的依赖关系
|
@@ -172,7 +172,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
172 | 172 |
|
173 | 173 | 测试可以使用多个 ``@depends`` 标注。PHPUnit 不会更改测试的运行顺序,因此你需要自行保证某个测试所依赖的所有测试均出现于这个测试之前。
|
174 | 174 |
|
175 |
| -拥有多个 ``@depends`` 标注的测试,其第一个参数是第一个生产者提供的基境,第二个参数是第二个生产者提供的基境,以此类推。参见:numref:`writing-tests-for-phpunit.examples.MultipleDependencies.php` |
| 175 | +拥有多个 ``@depends`` 标注的测试,其第一个参数是第一个生产者提供的基境,第二个参数是第二个生产者提供的基境,以此类推。参见 :numref:`writing-tests-for-phpunit.examples.MultipleDependencies.php` |
176 | 176 |
|
177 | 177 | .. code-block:: php
|
178 | 178 | :caption: 有多重依赖的测试
|
@@ -225,7 +225,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
225 | 225 | 数据供给器
|
226 | 226 | #####
|
227 | 227 |
|
228 |
| -测试方法可以接受任意参数。这些参数由数据供给器方法(在 :numref:`writing-tests-for-phpunit.data-providers.examples.DataTest.php`中,是 ``additionProvider()`` 方法)提供。用 ``@dataProvider`` 标注来指定使用哪个数据供给器方法。 |
| 228 | +测试方法可以接受任意参数。这些参数由数据供给器方法(在 :numref:`writing-tests-for-phpunit.data-providers.examples.DataTest.php` 中,是 ``additionProvider()`` 方法)提供。用 ``@dataProvider`` 标注来指定使用哪个数据供给器方法。 |
229 | 229 |
|
230 | 230 | 数据供给器方法必须声明为 ``public``,其返回值要么是一个数组,其每个元素也是数组;要么是一个实现了 ``Iterator`` 接口的对象,在对它进行迭代时每步产生一个数组。每个数组都是测试数据集的一部分,将以它的内容作为参数来调用测试方法。
|
231 | 231 |
|
@@ -670,7 +670,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
670 | 670 |
|
671 | 671 | 有时候,想要断言(比如说)某方法的运行过程中生成了预期的输出(例如,通过 ``echo`` 或 ``print``)。``PHPUnit\Framework\TestCase`` 类使用 PHP 的 `输出缓冲 <http://www.php.net/manual/en/ref.outcontrol.php>`_ 特性来为此提供必要的功能支持。
|
672 | 672 |
|
673 |
| -:numref:`writing-tests-for-phpunit.output.examples.OutputTest.php`展示了如何用 ``expectOutputString()`` 方法来设定所预期的输出。如果没有产生预期的输出,测试将计为失败。 |
| 673 | +:numref:`writing-tests-for-phpunit.output.examples.OutputTest.php` 展示了如何用 ``expectOutputString()`` 方法来设定所预期的输出。如果没有产生预期的输出,测试将计为失败。 |
674 | 674 |
|
675 | 675 | .. code-block:: php
|
676 | 676 | :caption: 对函数或方法的输出进行测试
|
@@ -717,7 +717,7 @@ PHPUnit支持对测试方法之间的显式依赖关系进行声明。这种依
|
717 | 717 | FAILURES!
|
718 | 718 | Tests: 2, Assertions: 2, Failures: 1.
|
719 | 719 |
|
720 |
| -:numref:`writing-tests-for-phpunit.output.tables.api`中列举了用于对输出进行测试的各种方法。 |
| 720 | +:numref:`writing-tests-for-phpunit.output.tables.api` 中列举了用于对输出进行测试的各种方法。 |
721 | 721 |
|
722 | 722 | .. rst-class:: table
|
723 | 723 | .. list-table:: 用于对输出进行测试的方法
|
|
0 commit comments