今天在学习 phpunit 中发现一个测试方式,但是不太明白其原理,这是一个测试不通过的测试类,请问我应该如何书写 testConsumer 方法,而让测试通过。
这里发生一个奇葩的事情,当我第一次测试时是通过的,第二次就报错了 (在 thinkphp 5.0 下),很奇怪。
<?php
namespace tests;
class QuestionTest extends TestCase
{
public function provider()
{
return array(array('provider1'), array('provider2'));
}
public function testProducerFirst()
{
$this->assertTrue(true);
return 'first';
}
public function testProducerSecond()
{
$this->assertTrue(true);
return 'second';
}
/**
* @depends testProducerFirst
* @depends testProducerSecond
* @dataProvider provider
*/
public function testConsumer()
{
$this->assertEquals(
array('provider1', 'first', 'second'),
func_get_args()
);
}
}
return array(array('provider1'), array('provider2'));
phpunit会根据参数调用两次testConsumer,分别传入参数