【发布时间】:2014-01-20 05:36:08
【问题描述】:
我在捆绑包中有一个简单的 REST API,我希望进行一些可以一致地测试此 API 的结果的测试。
我实现的第一个测试只是在 URL 上调用 GET:
namespace Me\Bundle\ApiBundle\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class SomeControllerTest extends WebTestCase {
public function testGetSomething()
{
$client = static::createClient();
$crawler = $client->request('GET', 'http://local.api.example.com/app_dev.php/v2.0/something');
// Purely here for testing purposes!
print_r( $client->getResponse()->getContent() );
}
}
但是,当我这样调用我的 URL 时,我得到一个空的内容正文,我在响应中测试 HTTP 状态代码,我得到一个 403:
$client->getResponse()->getStatusCode();
但是当我在浏览器或 cURL 命令中放置完全相同的 URL 时,我会得到正确的输出。
我做错了什么明显的事情?
PS:403 来自我在 API 中设置的全部路由,但实际上它不应该到达那里,因为路由存在。
【问题讨论】:
标签: symfony functional-testing