Yii assertTextPresent не работает - PullRequest
       21

Yii assertTextPresent не работает

0 голосов
/ 28 февраля 2012

Вот мое окружение Yii 1.1.10, PHPUnit 3.6.0, Selenium Server 2.20.0, PHP 5.2.17

Каждый раз, когда я использую команду $this->assertTextPresent('Foo'); в моем приложении Yii.PHPUnit, кажется, не отвечает и не дает обратной связи.Если я удалил это утверждение, PHPunit работает.

Как получилось?


Пример отсутствия ответа.

Я пытался протестировать phpunit с SiteTest.php (по умолчаниютестовый пример из Yii)

вот содержимое SIteTest.php

<?php

class SiteTest extends WebTestCase
{
public function testIndex()
{
    $this->open('');
    $this->assertTextPresent('Welcome');
}

public function testContact()
{
    $this->open('?r=site/contact');
    $this->assertTextPresent('Contact Us');
    $this->assertElementPresent('name=ContactForm[name]');

    $this->type('name=ContactForm[name]','tester');
    $this->type('name=ContactForm[email]','tester@example.com');
    $this->type('name=ContactForm[subject]','test subject');
    $this->click("//input[@value='Submit']");
    $this->waitForTextPresent('Body cannot be blank.');
}

public function testLoginLogout()
{
    $this->open('');
    // ensure the user is logged out
    if($this->isTextPresent('Logout'))
        $this->clickAndWait('link=Logout (demo)');

    // test login process, including validation
    $this->clickAndWait('link=Login');
    $this->assertElementPresent('name=LoginForm[username]');
    $this->type('name=LoginForm[username]','demo');
    $this->click("//input[@value='Login']");
    $this->waitForTextPresent('Password cannot be blank.');
    $this->type('name=LoginForm[password]','demo');
    $this->clickAndWait("//input[@value='Login']");
    $this->assertTextNotPresent('Password cannot be blank.');
    $this->assertTextPresent('Logout');

    // test logout process
    $this->assertTextNotPresent('Login');
    $this->clickAndWait('link=Logout (demo)');
    $this->assertTextPresent('Login');
}
}

и вот результат

1 Ответ

0 голосов
/ 20 июня 2014

Может быть синтаксическая ошибка где-то еще, попробуйте добавить

ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');

до конца вашего bootstrap.php

...