統合テストでは、テスト結果を再利用したい。依存関係は注釈によって定義されます。依存テストを実行するには、以前のテストの結果を使用可能にする必要があります。したがって、テストは一定の順序で実行する必要があります。そうでなければ、他のテストに依存するテストはスキップされます。テストが固定された順序で実行されるように、テストスイートが定義されています。依然として依存関係のテストはスキップされます。何故ですか?異なるテストケース間の依存関係を持つphpunitスキップテスト
ATest.php:
<?php
use PHPUnit\Framework\TestCase;
class ATest extends TestCase
{
public function testA()
{
self::assertTrue(true);
return $this;
}
}
BTest.php:
<?php
use PHPUnit\Framework\TestCase;
class BTest extends TestCase
{
/**
* @depends ATest::testA()
*/
public function testB($a)
{
self::assertTrue(true);
}
}
phpunit.xml:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
verbose="true"
>
<testsuites>
<testsuite name="dependency">
<file>ATest.php</file>
<file>BTest.php</file>
</testsuite>
</testsuites>
</phpunit>
phpunit --testsuite dependency
PHPUnit 5.5.7 Sebastian Bergmannと 投稿者によると、
ランタイム: /phpunit.xml
.S 2 /2(100%)
時間:49ミリ秒、メモリ:4.00メガバイト
Xdebugの2.5.4に構成されたPHP 7.1.5スキップされたテストが1つありました。
1)BTest :: testBこのテストは、 "ATest :: testA()"が通過するかどうかに依存します。
OKですが、不完全な、スキップされた、または危険なテストです!テスト:1、アサーション:1、 スキップ:1.