添加测试的依赖

最后更新于:2022-04-02 02:34:58

[TOC] ## 概述 PHPUnit支持对测试方法之间的显式依赖关系进行声明,通过添加`@depends`标记 >[info] 默认情况下,生产者所产生的返回值将“原样”传递给相应的消费者。这意味着,如果生产者返回的是一个对象,那么传递给消费者的将是一个指向此对象的引用。如果需要传递对象的副本而非引用,则应当用 @depends clone 替代 @depends。 ## 实例 ### 单个依赖
test.php ``` use PHPUnit\Framework\TestCase; class EmailTest extends TestCase{ public function testEmpty(): array{ $stack = []; $this->assertEmpty($stack); return $stack; } /** * 接受 testEmpry return 的值 * @depends testEmpty * @param array $stack * @return array */ public function testPush(array $stack): array{ $stack[] = 'foo'; $this->assertEquals('foo', $stack[0]); $this->assertNotEmpty($stack); return $stack; } /** * 接受 testPush 返回的值 * @depends testPush * @param array $stack */ public function testPop(array $stack):void { $this->assertEquals('foo', array_pop($stack)); $this->assertEmpty($stack); } } ```

### 同时依赖多个
test.php ``` assertTrue(true); return 1; } /** * @return int */ public function testTwo(){ $this->assertTrue(true); return 2; } /** * * @depends testOne * @depends testTwo */ public function testResult(){ $arr = func_get_args(); $this->assertEquals([1,2], $arr); } } ```

';