2014-11-20 67 views
2

我看到WebTestCase和Symfony出现了很多......我已经在PHPUnit中进行了一些单元测试,但确实需要更高级别的测试......我不需要任何像Selenium一样的花哨(UI是在ExtJS,但将来可能完全改变为Polymer)我只需要发布数据并检查JSON结果。使用PHPUnit的功能测试

这可以通过PHPUnit来完成,还是需要引入Symfony并且它是​​WebTestCase?

Testing RESTful web services using PHPUnit

注:我实际上是寻找测试服务 - 没有嘲笑的对象所需 - 我需要登录时,测试套件是第一次运行 - 存储会话ID和经过每个测试。 ..

回答

3

我已经在使用Guzzle编写PHP功能测试方面取得了成功。

它允许你进行这样的HTTP请求:

$client = new GuzzleHttp\Client(); 
$response = $client->get('http://guzzlephp.org'); 

而且$client将保持整个请求PHPSESSIONID,让您通过登录,然后执行与同一个客户的请求进行认证的请求。

+0

我将不得不考虑一下......我很希望有一个phpunit扩展,以便将测试包括在runner中,并在netbeans中显示单元测试的结果,如果没有其他人,我会明天接受你的答案回答...感谢回复:) – 2014-11-21 00:20:45

+0

请注意,您也可以对响应执行phpunit断言,并且您还可以获取抓取工具来抓取服务器返回的HTML(当然,还可以对其执行断言) – Raibaz 2015-01-27 23:25:16