2014-11-08 51 views
3

我有一個表格,填寫並單擊後,將郵政編碼列表返回到隱藏字段。我想斷言字段列表已經填滿。但是,我不想根據任何特定列表來檢查字段值,以允許將來更改普查或郵政信息。我怎麼能簡單地斷言Codeception的WebDriver中一個字段不是空的?我已經嘗試使用我如何斷言Codeception/PhantomJS字段不爲空?

$set_zips = $I->grabValueFrom('#zips'); 
$this->assertFalse(empty($set_zips)); 

$I->cantSeeInField('#zips', '')` 

,但一直沒能得到這個驗證,即使該字段實際上是在填補。

+0

的'$ set_zips'事情是一個錯字,現在修好。至於'cantSeeInField()',它基本上是'dontSeeInField()'的一個別名,記錄在這裏[http://code.google.com/p/documents/docs/04-AcceptanceTests#Conditional-Assertions]。 – apkostka 2014-11-10 23:36:23

+0

我做了一些挖掘,發現'cantSeeInField()'使用'assertContains',這意味着它使用第二個參數作爲針和字段的值作爲乾草堆。因此,作爲'cantSeeInField()'的第二個參數的空值將始終返回true。 – apkostka 2014-11-10 23:38:32

回答

3

我能夠創建一個幫助實現這一點:

function dontSeeFieldIsEmpty($value) 
{ 
    $this->assertFalse(empty($value)); 
} 

我把這個在tests/_support/AcceptanceHelper.php並呼籲它在我的CEST:

$I->dontSeeFieldIsEmpty($I->grabValueFrom('#set_zips'));