2014-01-31 31 views
0

我想一個很簡單的測試是這樣的:assertTitle硒+ PHPUnit的失敗

public function index() 
{ 
    $this->open(''); 
    $this->assertTitle(Yii::app()->name); 
} 

與相應的燈具:

'accueil' => array(
    'id' => 1, 
    'title' => Yii::app()->name, 
    'name' => "accueil", 
    [etc...] 
), 

但是當我運行的功能測試中,assertTitle方法失敗:

命令失敗:assertTitle('comptabilite-personnelle .net(dev)') 無法斷言'comptabilite-personnelle.net(dev)'匹配 PCRE模式「/^comptabilite-personnelle.net(dev)$ /」。

OTOH,下面的代碼不會失敗:

燈具:

'accueil' => array(
    'id' => 1, 
    'title' => 'whatever', 
    'name' => "accueil", 
    [etc...] 
), 

斷言:

$this->assertTitle('whatever'); 

有關此行爲的歡迎任何想法!

+0

什麼在這些情況下是'Yii :: app() - > name'的值嗎? 'assertTitle'將[string-match pattern](http://release.seleniumhq.org/selenium-core/0.8.0/reference.html#patterns)作爲參數。默認情況下它被視爲glob。嘗試預先確定:'確切:'。 – Palec

回答

0

如果你只是要檢查,如果你的網頁標題中包含你的應用程序名稱,而不是要檢查,如果你的頁面標題是完全一樣的程序名稱,你需要做的是這樣的:

$this->assertTitle('regexp:.*' . Yii::app()->name . '.*');