0
は、私は私のDefaultControllerTestphpunit symfonyでdatafixtures hautelook aliceをロードするには?
$load = new Loader();
$load->load('src/AppBundle/DataFixtures/ORM/product.yml');
にこのコードを追加しようと、私はPHPUnitのを実行する場合は、ここで私のコントローラ
<?php
namespace Tests\AppBundle\Controller;
use Nelmio\Alice\Fixtures\Loader;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class DefaultControllerTest extends WebTestCase
{
public function testIndex()
{
$load = new Loader();
$load->load('src/AppBundle/DataFixtures/ORM/product.yml');
$client = static::createClient();
$crawler = $client->request('GET', '/');
$this->assertEquals(200, $client->getResponse()->getStatusCode());
$this->assertContains('Welcome to Symfony', $crawler->filter('#container h1')->text());
}
}
の完全なコードです。それは動作し、エラーは見つかりませんでした。これは正常にテストされましたが、問題はここのproduct.ymlはデータベースにデータを挿入しません。しかし、私がこのコマンドを実行した場合bin/console hautelook_alice:doctrine:fixtures:load --append。これは動作します。データを挿入します。コントローラをテストする前に、datafixtureをロードするにはどうすればいいですか?私はそれについてもっと研究しようとしています。私は今それを追加する方法の手がかりがありません。
ありがとうございます。 Webtestcaseにロードする別の方法はありますか? – user3818576
--env = devとは何ですか? – user3818576
"env"は現在の作業環境ですので、開発する際には一般的に "dev"を使用します。実稼働サーバーサーバーにデプロイするときは、env = prodを使用してコマンドを起動します。 (prodは、env最適化され、デバッグ情報なしのプロダクションを表します) –