9

アプリケーション用に定義したフォーム タイプをテストしています。symfony の TypeTestCase クラスを使用してフォーム タイプをテストしているときに、「タイプ "entity" を読み込めませんでした」というメッセージが表示されます。問題を解決するにはどうすればよいですか??

class MyType extends AbstractType {
  public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add('otherType', 'entity', array('class' => 'Bundle:OtherType'));
  }
}

class MyTypeTest extends TypeTestCase {
  public function testSth() {
    $type = new MyType();
  }
}
4

2 に答える 2

0

Ahmed Siouani の答えはよく書かれており、 に を追加する方法を理解することができExtensionましたTypeTestCase

しかし、この場合の単体テストよりもはるかに単純な統合テストを作成したい場合は、次のように実行できます。

protected function getExtensions()
{
    $childType = new TestChildType();
    return array(new PreloadedExtension(array(
        $childType->getName() => $childType,
    ), array()));
}

このドキュメントで説明されているように: http://symfony.com/doc/current/cookbook/form/unit_testing.html#adding-a-type-your-form-depends-on

于 2015-04-03T09:21:26.977 に答える