Ярослав
Новичок
PHPUnit testing
Посмотрел сорцы тестинга для Zend Framework
там следующее
Но если кто нибудь изменит сообщение ошибки то тест провалится
Не лучше в данном случае использовать коды ошибок?
Должна быть отдельная база, табла для тестинга уже готовая или создавать в тесте?
Вот как тут делают зендовцы:
На сколько это корректно?
Ссылаюсь на код зенда, т.к. считаю его одним из лучших php фреймворков.
Посмотрел сорцы тестинга для Zend Framework
там следующее
PHP:
/**
* Ensure that exceptions are caught
*
*/
public function testCatchExceptionNoIdentity()
{
try {
$result = $this->_adapter->authenticate();
$this->fail('Exception should have been thrown');
} catch (Zend_Auth_Exception $e) {
$this->assertEquals($e->getMessage(),
'A value for the identity was not provided prior to authentication with Zend_Auth_Adapter_DbTable.');
}
}
Не лучше в данном случае использовать коды ошибок?
Должна быть отдельная база, табла для тестинга уже готовая или создавать в тесте?
Вот как тут делают зендовцы:
PHP:
/**
* Set up test configuration
*
* @return void
*/
public function setUp()
{
$this->_db = new Zend_Db_Adapter_Pdo_Sqlite(
array('dbname' => TESTS_ZEND_AUTH_ADAPTER_DBTABLE_PDO_SQLITE_DATABASE)
);
$sqlCreate = 'CREATE TABLE [users] ( '
. '[id] INTEGER NOT NULL PRIMARY KEY, '
. '[username] VARCHAR(50) NOT NULL, '
. '[password] VARCHAR(32) NULL, '
. '[real_name] VARCHAR(150) NULL)';
$this->_db->query($sqlCreate);
$sqlInsert = 'INSERT INTO users (username, password, real_name) '
. 'VALUES ("my_username", "my_password", "My Real Name")';
$this->_db->query($sqlInsert);
$this->_adapter = new Zend_Auth_Adapter_DbTable($this->_db, 'users', 'username', 'password');
}
Ссылаюсь на код зенда, т.к. считаю его одним из лучших php фреймворков.