我刚开始使用PHPUnit,并为一个非常简单的库编写测试。它只包含两个类,所以我认为这是一个很好的起点,以便我可以掌握单元测试的工作方式。
我没有遇到任何问题就完成了第一类测试,但是第二类测试让我头痛,因为我无法弄清楚问题出在哪里。似乎我的数据提供程序存在某些错误。
<?php
use PIFlex\Roulette\Roulette;
class RouletteTest extends PHPUnit_Framework_TestCase
{
protected $roulette;
public function setUp()
{
$this->roulette = new Roulette();
}
/*
* @dataProvider addItemDataProvider
*/
public function testAddItem($item)
{
$this->assertInstanceOf(
'PIFlex\Roulette\Roulette',
$this->roulette->addItem($item, 1)
);
}
public function addItemDataProvider()
{
return array(
array("string"),
array(1),
);
}
}
它给我抛出了以下错误:
There was 1 error:
1) RouletteTest::testAddItem
Missing argument 1 for RouletteTest::testAddItem()
/home/igor/Dropbox/www/Github/PIFlexRoulette/test/PHPUnit/Roulette/RouletteTest.php:22
FAILURES!
Tests: 12, Assertions: 11, Errors: 1.