【发布时间】:2014-05-21 10:42:14
【问题描述】:
我为我的应用程序进行单元测试。
我有一个保存 saveArticleIds() 方法,我为它写了一个测试 -> testSaveArticleIds()。我有一个带有多个数组的 dataProvider articelIdsArray()。该函数需要该数组,就像这样。
/**
*
* @dataProvider articleIdsArray
*
*/
public function testSavearticleIds($articleIds) {
$articleIdObjekt = new ArticleIdHandler();
$result = $articleIdObjekt->saveArticleIds($articleIds,false);
$this->assertTrue($result);
}
public function articleIdsArray() {
return array(
array(
10552 => 10552,
14314 => 14314,
21034 => 21034,
22739 => 22739,
34568 => 34568,
34572 => 34572,
35401 => 35401,
38292 => 38292,
55141 => 55141,
161764 => 161764,
181589 => 181589
)
);
}
当我运行测试时,我得到这个错误:
There was 1 error: 1) My\Bundle\ArticleBundle\Tests\Article\ArticleIdHandlerTest::testSaveArticleIds
with data set #0 (10552, 14314, 21034, 22739, 34568, 34572, 35401, 38292, 55141, 161764, 181589)
Invalid argument supplied for foreach()
为什么它显示数组就像我在数组中没有键一样?我需要与我的 dataProvider 中完全相同的数组!任何的想法??非常感谢您的帮助!!!
【问题讨论】:
-
请提供
saveArticleIds($articleIds, false)的源代码。
标签: unit-testing symfony phpunit dataprovider