测试
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
测试
大致说来,有两种类型的测试。单元测试可以测试特定函数的输入和输出。功能测试允许您命令“浏览器”,你在你的网站上浏览到页面,点击链接,填写表单和断言,你看到页面上的某些东西。
单元测试
单元测试是用来测试你的“业务逻辑”,应该住在Symfony的类是独立的。ob娱乐下载出于这个原因,Symfony并没有ob娱乐下载一个意见你用于单元测试的工具。然而,最受欢迎的工具PhpUnit)和PhpSpec。
功能测试
创造很好的功能测试可以强硬一些开发人员完全跳过这些。不要跳过功能测试!通过定义一些简单的功能测试,您可以快速发现任何大的错误之前部署:
最佳实践
至少定义一个功能测试,检查是否成功加载应用程序页面。
可以这么简单的功能测试:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30
/ /测试/ AppBundle / ApplicationAvailabilityFunctionalTest.php名称空间测试\AppBundle;使用ob娱乐下载\包\FrameworkBundle\测试\WebTestCase;类ApplicationAvailabilityFunctionalTest扩展WebTestCase{/ * * *@dataProviderurlProvider * /公共函数testPageIsSuccessful(美元url){美元客户端=自我::createClient ();美元客户端- >请求(“得到”,美元url);美元这- >assertTrue (美元客户端- >getResponse ()- >isSuccessful ());}公共函数urlProvider(){返回数组(数组(' / '),数组(' /帖子'),数组(' / post / fixture-post-1 '),数组(' /博客/类别/ fixture-category '),数组(“/档案”),/ /……);}}
这段代码检查所有给定的url加载成功,这意味着他们之间的HTTP响应状态码200年
和299年
。这看起来可能不是很有用,但鉴于该花了多少努力,值得拥有它在您的应用程序。
在计算机软件中,这种类型的测试冒烟测试,由“初步测试揭示简单故障严重程度足以拒绝未来的软件发布”。
功能测试中硬编码的url
你们中的一些人可能会问为什么之前的功能测试不使用URL发电机服务:
最佳实践
功能测试中使用硬编码的URL而不是使用发电机的URL。
考虑以下功能测试使用路由器
服务来生成测试页面的URL:
1 2 3 4 5 6 7 8
公共函数testBlogArchives(){美元客户端=自我::createClient ();美元url=美元客户端- >getContainer ()- >get (“路由器”)- >生成(“blog_archives”);美元客户端- >请求(“得到”,美元url);/ /……}
这将工作,但它有一个巨大的缺点。如果开发人员错误地改变的路径blog_archives
路线,仍将通过测试,但原始URL(旧)不会工作!这意味着任何书签的URL将被打破,你会失去任何搜索引擎页面排名。
测试JavaScript功能
内置的功能测试客户端是伟大的,但它不能被用来测试任何JavaScript行为在你的页面。如果你需要测试这个,考虑使用貂图书馆在PHPUnit)。
当然,如果你有一个沉重的JavaScript前端,您应该考虑使用纯粹的基于JavaScript的测试工具。
了解更多关于功能测试
考虑使用HautelookAliceBundle为您的测试装置使用生成真正的数据骗子和爱丽丝。