2
私のコードの動作を理解していません。phpunitでの特性TestCase
私はテストがあります:
class EditVoterTest extends TestCase
{
use ContainerAwareTrait;
protected function setUp()
{
$this->getContainer();
}
public function testSomething()
{
// test lauched 4 times with a provider
}
}
とトレイト:
trait ContainerAwareTrait
{
private $container;
public function getContainer()
{
if (!$this->container) {
echo "NO CONTAINER \n";
$this->container = true;
}
return $this->container;
}
}
をし、コンテナが構築」であるのはなぜ結果が
PHPUnit 5.6.2 by Sebastian Bergmann and contributors.
.NO CONTAINER
.NO CONTAINER
.NO CONTAINER
. 4/4 (100%)NO CONTAINER
Time: 241 ms, Memory: 21.00MB
で簡単なバージョンがあります" 毎回 ?
私はすべてのテストのために、テストクラスの新しいインスタンスが作成されている、と思います。 –
各テストでPHPUnitは 'setUp()'を実行します –
@FelippeDuarteが述べたように、 'setUp'はテストを実行する前に必要なことをすべて行うためのメソッドです(オブジェクトのインスタンス化、リソースへの接続など)。したがって、単体テスト手段のように、各テストは一意であるとみなされる必要があるため、各テストに対して 'setUp'を実行する必要があります。 –