0
我工作的PHPUnit测试,到目前为止,一切都很好。有一个问题,但是,它是以下设置。理想情况下,我想选择序列中的下一个值(postgreSQL)并将其传递给函数,以便我可以根据从正在测试的类(数据库中的新行)返回的数组验证它。PHPUnit的数据提供
的问题是,从数据提供程序返回的阵列之前(如果我回应的话)是正确的值,但在测试过程中谈到通过为空白。是否有一系列特定的步骤在我所期望的方面缺失,或者我必须以不同的方式做到这一点?
/**
* @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'=>'[email protected]',
'password'=>'youaintgonnagetit',
$error3
),
array(
array('id'=>$uid,'email'=>'[email protected]','username'=>'Guest'),
array('email'=>'[email protected]','password'=>'youaintgonnagetit'),
null
)
);
}
输出:
Array
(
- [id] =>
+ [id] => 2
[email] => [email protected]
[username] => Guest
)
只是好奇,你对替代数据(序列)执行什么样的测试? – zerkms 2010-10-15 01:46:43
顺便说一句,如果你将其更改为另一个功能invokation,即:'$ UID = microtime中(真);' – zerkms 2010-10-15 01:49:26
我执行等于检查($这个 - >的assertEquals($ A,$数据);),其中一个是使用$ uid值的数组。 ?用microtime中 – methodin 2010-10-15 01:51:51