使用PHPUnit进行功能测试

3
我经常看到WebTestCase和Symfony...我已经在PHPUnit中有一些单元测试,但确实需要更高级别的测试...我不需要像Selenium这样的复杂工具(UI是在ExtJS中完成的,但这可能会完全改成Polymer),我只需要发布数据并检查JSON结果。
这是否可以通过PHPUnit完成,还是我需要引入Symfony及其WebTestCase?
参考链接:使用PHPUnit测试RESTful Web服务 注意:我实际上正在寻找测试服务--不需要模拟对象--当测试套件首次运行时,我需要登录--存储SESSION ID并执行每个测试...
1个回答

5

我已经成功使用Guzzle编写了PHP功能测试。

Guzzle允许您像这样执行HTTP请求:

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

而且 $client 会在请求之间维护 PHPSESSIONID,这样你就可以通过登录并使用相同的客户端进行请求来执行经过身份验证的请求。


我需要研究一下这个问题...我原本希望有一个phpunit扩展,以便将测试包含在运行器中,并在NetBeans中显示结果,与单元测试并列。如果没有其他人回答,我明天会接受你的答案...感谢回复 :) - Alex.Barylski
请注意,您可以在响应上执行phpunit断言,并且您还可以获取爬虫来爬取服务器返回的HTML(当然,也可以对其执行断言)。 - Raibaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接