【发布时间】:2016-03-21 13:57:33
【问题描述】:
我有简单的PostControllerTest 类:
<?php
namespace AppBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
use Symfony\Bundle\FrameworkBundle\Client;
class PostControllerTest extends WebTestCase
{
/**
* @var Client
*/
private $client;
public function setUp() {
$this->client = static::createClient();
}
public function idProvider()
{
return [
["1"],
["2"],
["3"],
];
}
/**
* @dataProvider idProvider
*/
public function testGet($id)
{
$this->client->request('GET', '/post/'.$id);
$this->assertTrue($this->client->getResponse()->isSuccessful());
}
}
testGet 方法使用idProvider 发出类似/post/{id} 的请求并断言成功响应,其中{id} 是数据库中Post 实体的真实id。
一切正常,但如果 Post 和 id = 1 将被删除怎么办?
我需要从数据库中获取一些id,例如最后一个或\和随机3个并将其传递给testGet作为dataProvider(或者不是dataProvider?)
我使用Symfony 2.8.3 和PHPUnit 5.2.11。
如何解决?任何建议表示赞赏。谢谢!
【问题讨论】:
-
如何加载灯具数据?