Я работаю над тестами PHPunit, и пока все отлично.Однако есть одна проблема, и она связана со следующей настройкой.В идеале я хотел бы выбрать следующее значение в последовательности (postgreSQL) и передать его в функцию, чтобы я мог проверить его по массиву, возвращенному из моего класса, который тестируется (новая строка в базе данных).
проблема заключается в том, что перед возвратом массива от поставщика данных (если я его повторю) это правильное значение, но во время теста оно показывается пустым.Есть ли здесь какая-то определенная последовательность шагов, которую я пропускаю с точки зрения того, что я ожидаю, или я должен сделать это по-другому?
/**
* @dataProvider testSignupProvider
*/
public function testSignup($a, $b, $c)
{
...stuff is done with $a,$b,$c
}
public function testSignupProvider()
{
$uid = fetchOne(X("SELECT currval('users_id_seq')"));
return array(
array(false, array(), $error4),
array(
'email'=>'stack@overflow.com',
'password'=>'youaintgonnagetit',
$error3
),
array(
array('id'=>$uid,'email'=>'PHPUNIT@gmail.com','username'=>'Guest'),
array('email'=>'PHPUNIT@gmail.com','password'=>'youaintgonnagetit'),
null
)
);
}
Вывод:
Array
(
- [id] =>
+ [id] => 2
[email] => PHPUNIT@gmail.com
[username] => Guest
)