新しいタイプを開発しましたが、どうすればテストできるのかわかりません。注釈のアサートはロードされず、検証は呼び出されません。誰か助けてくれませんか?
class BarcodeType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->
add('price');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Bundles\MyBundle\Form\Model\Barcode',
'intention' => 'enable_barcode',
));
}
public function getName()
{
return 'enable_barcode';
}
}
フォームデータを保存するための次のモデルがあります。
namepspace Bundles\MyBundle\Form\Model;
class Barcode
{
/**
* @Assert\Range(
* min = "100",
* max = "100000",
* minMessage = "...",
* maxMessage = "..."
* )
*/
public $price;
}
このようなテストを開発しました。フォームは有効なデータを取得しませんでしたが、有効です。(アノテーションが適用されていないため)ValidatorExtensionを追加しようとしましたが、コンストラクターパラメーターを設定する方法がわかりません
function test...()
{
$field = $this->factory->createNamed('name', 'barcode');
$field->bind(
array(
'price' => 'hello',
));
$data = $field->getData();
$this->assertTrue($field->isValid()); // Must not be valid
}