2017-07-17 44 views
1

在我的表單中,我有幾個選擇,所有相同的名稱,但不同的ID。laravel中選擇ID的功能測試5.4

<form method="POST" action="/" 
      accept-charset="UTF-8"> 
     <select name="directElimination_fighters[]" class=directElimination_select id="1_1"> 
      <option selected></option> 
      <option value="1639"> Esteban Prohaska </option> 
      <option value="1640"> Vicenta Walsh </option> 
     </select> 
     <select name="directElimination_fighters[]" class=directElimination_select id="1_2"> 
      <option selected></option> 
      <option value="1639"> Esteban Prohaska </option> 
      <option value="1640"> Vicenta Walsh </option> 
     </select> 

     <button type="submit" class="btn btn-success" id="update"> 
      Update 
     </button> 
    </form> 

我正在做我的功能測試,所以我做的:

$this->visit('/') 
     ->select('Esteban Prohaska', '1_2') 
     ->press('update'); 

但PHPUnit的說:

InvalidArgumentException: Unreachable field "1_2" 

當我添加->dump(),我可以在HTML查看ID = 「1_2」字段。那麼我的代碼有什麼問題?

回答

1

將其更改爲:

->select('#1_2', '1639') 
+1

謝謝,它的工作....對不起,那個! –

+0

@JuliatzindelToro很高興幫助。 ) –

+0

Docs說相反......第一個字段應該是值.... https://laravel.com/docs/5.1/testing#interacting-with-your-application –

1

你錯過了# - #1_2。這就像在CSS中,標識符以#開頭。

$this->visit('/') 
    ->select('#1_2', 'Esteban Prohaska') 
    ->press('update'); 

默認情況下,Laravel治療的->select()第一個參數作爲輸入的名稱。