2015-09-14 72 views
0

我有UserTypeTest從TypeTestCase類型測試用例沒有趕上定義的約束的Symfony2

<?php 

class UserTypeTest extends TypeTestCase 
{ 
     public function testSubmitInvalidData() 
     { 
      $formData = array(
       'username' => '', 
       'password' => '123456', 
       'email' => '', 
       'firstName' => '', 
       'lastName' => '', 
       'roles' => array(
       ) 
      ); 

      $form = $this->factory->create(new UserType()); 
      $form->submit($formData); 
      $this->assertTrue(!$form->isValid()); 
     } 
    } 

延伸和用戶類型類有一些約束在buildForm()函數(用戶名不爲空)。 如何在我的測試用例中將$ form-> isValid()傳遞給assertTrue? $形式 - > isValid()的返回true始終

+1

[從DOC(HTTP:/ /symfony.com/doc/current/cookbook/form/unit_testing.html):不要測試驗證:它由測試用例中不活動的偵聽器應用,它依賴於驗證配置。相反,單元直接測試您的自定義約束。 – Matteo

回答

0

我想測試驗證的最好辦法是在實體,我直接寫上單位的約束和它的話大大