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