首页 » 网站推广 » php的开源框架技巧_值得推荐的十种PHP测试框架

php的开源框架技巧_值得推荐的十种PHP测试框架

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

【51CTO.com快译】作为一种可以支持测试和开拓活动的工具与过程的凑集,框架每每包含了各种实用的程序库、可重用的模块、测试数据的设置、以及其他依赖项。
目前,无论是针对Web的开拓、还是测试,业界都有多种成熟框架,可供您根据实际需求进行选择,进而提高团队的效率和生产力。
而作为一个精良的框架,它常日须要具备如下优点:

掩护具备良好定义的代码构造。
供应能有效用于测试的可重用模块和库。
可加快测试的进程与效率。
可避免代码的重复。
能够剖析需求与测试的范围。

同时,在所有做事器真个编程措辞中,有80%的网站用到了PHP。
因此,我们有必要对针对PHP测试框架开展深入研究,以方便采取标准的格式,编写出各种测试用例。
下面,我将和您一起磋商十种精良PHP测试框架是如何实现测试自动化,以及它们各自的优缺陷。

php的开源框架技巧_值得推荐的十种PHP测试框架

1. PHPUnit

作为一种面向程序员的最常用PHP测试框架,PHPUnit非常适宜单元测试。
它是由Sebastian Bergmann开拓的,属于xUnit框架体系构造中的一个实例。

php的开源框架技巧_值得推荐的十种PHP测试框架
(图片来自网络侵删)

安装步骤

您须要事先安装PHP 7.3版或更高版本,才能安装PHPUnit的最新版本--PHPUnit 9.3。
以下便是PHPUnit的安装步骤。

步骤1:从链接https://www.php.net/phar处下载PHAR(PHP Archive)。
PHAR已将所有必需的PHPUnit依赖项,都捆绑在了一个文件中。
步骤2:从链接https://getcomposer.org/处,安装Composer,以管理项目中的所有依赖项。

利用PHPUnit框架的上风

作为公认好用的PHP框架之一,PHPUnit在进行自动化测试过程中具有如下上风:

1. 可以有效地剖析代码的覆盖率。
通过深入剖析,它可以天生包含有各种代码覆盖率信息的报告,或HTML/XML日志文件。
在碰到无法测试的代码块时,我们可以利用诸如@codeCoverageIgnore、@codeCoverageIgnoreStart和@codeCoverageIgnoreEnd之类的注释,在实行代码覆盖率剖析过程中,忽略某些代码块。
当然,我们也可以通过利用@covers注释,来指定某个代码块去实行代码覆盖率剖析。

2. 在实行测试用例时,某些测试可能无法被实行到。
对此,PHPUnit供应了一个可触发非常的接口。

3. 如下面的大略XML配置文件所示,我们可以将所有测试组合到一个套件中,并在XML配置文件的帮忙下触发运行。

2. Codeception

由于具有易于利用和掩护代码模块的能力,因此Codeception的利用范围非常广。
它供应了多个模块,可以在单个框架中支持验收测试、功能测试、以及单元测试。

安装步骤

安装Codeception的先决条件为:

安装了PHP 5.6或更新版本。
已启用了CURL。

Codeception的详细安装步骤为:

步骤1:从官网—https://getcomposer.org/download/处,下载并安装用于管理PHP中各个依赖项的composer。
它将有助于声明要在项目中利用到的代码库,并对其进行管理。
步骤2:从Codeception的官网—https://codeception.com/install处,下载并安装PHAR。

利用Codeception框架的上风

1. 作为“全栈测试框架”,您可以对目标运用进行单元测试、功能测试、以及验收测试。

2. 通过利用大略的命名规则,它能够帮忙用户理解代码。
个中,actions关键字可用于实行诸如:单击、按键、添补输入字段等用户操作;assertion关键字可用于实行验证,就像利用TestNG和Junit进行验证一样;而grabbers则可用于提取干系信息。

3. 供应了一种可在JBehave和Cucumber等行为驱动开拓(BDD)中,运行用户故事(user stories)的选项。

4. 供应了各种对付数据库测试非常实用的数据库模块。

5. 具有WebDriver模块,可用于验收测试。

6. 具有对付Web做事测试非常实用的REST模块。
为了验证JSON相应,该模块可从特定的JSON标签中提取数据,并验证各种XML相应。

7. 有助于与Jenkins和Teamcity等持续集成工具相集成,以帮忙天生测试报告。

3. Storyplayer

作为一个开源的PHP测试框架,Storyplayer可用于实行端到端测试、API自动化测试、以及Web运用测试。
由于它供应了对付多种编程措辞的支持,因此可谓精良PHP框架之一。

安装步骤

步骤1:目前,它仅支持Apple OSX Yosemite和Ubuntu Linux Desktop 14.10,而且须要事先安装PHP。
步骤2:根据其官网哀求(https://datasift.github.io/storyplayer/v2/learn/getting-setup/index.html),须要额外添加诸如CURL、JSON、OpenSSL等扩展。

利用Storyplayer框架的优点

1. 供应了无需订阅或付费的开源框架做事,这对付PHP的Web开拓新手来说,非常实用。

2. 支持多种编程措辞,让PHP的开拓和测试更加随意马虎。

4. SeleniumHQ

作为已被广泛利用的Web运用自动化测试框架,Selenium包含四个紧张组成部分:

Selenium IDESelenium RCSelenium WebDriverSelenium Grid

由于这些组件是为特定目的设计的,因此您可以根据实际测试需求进行选择。

安装步骤

除了具有最新版本的PHP,您还须要安装Composer,以管理项目的所有依赖项。

利用Selenium框架的上风

1. 属于开源的自动化测试框架。

2. 具有雄厚的支持社区。

3. 易于安装,且易于实现对用例的测试。

4. 可以在诸如Google Chrome、Firefox、Safari、Internet Explorer平分歧的浏览器中运行测试用例,并能够无缝地测试浏览器的兼容性。

5. 可在多个浏览器和操作系统中,并行且快速地实行测试脚本。

6. 可用于实行与浏览器对应的键盘和鼠标之间的交互。

5. Behat

作为一种PHP行为驱动开拓(BDD)框架,Behat专为PHP而构建,并包含了许多核心的PHP模块。
由于其代码是用大略的英语编写而成,因此它能够被项目的各个成员快速地理解。
我们常日将BDD构造里包含的高下文、操作和结果,统称为Gherkin。
以下便是利用Gherkin措辞编写的大略测试示例:

这些案例可以被写入具有可扩展功能的文件中(如loginTest.feature)。
Behat可以从命令行来运行测试,就像通过各种功能性的文件,来测试运用程序一样。

安装步骤

步骤1:安装PHP的最新版本。
步骤2:安装Composer,以管理项目的所有PHP依赖关系。
步骤3:如果没有Composer,则可以通过下载最新版本的behat.phar(https://github.com/Behat/Behat/releases)来设置框架。

利用Behat框架的优点

1. 属于一种开源的测试框架。

2. 易于安装和履行。

3. 由于全部是由BDD和大略英语(包含Given、When和Then关键字的Gherkin措辞)编写,因此项目成员易于理解需求和测试用例之间的映射关系。
各种场景可被写入功能性文件中,并由高下文、后续操作和终极预期结果所组成。

4. 其详细的文档可帮助用户轻松地实现该框架。

6. Atoum

作为一款较新的PHP测试框架,Atoum不但大略,而且易于实现单元测试。
由于供应了诸如内联引擎、隔离引擎、以及并发引擎等各种内置的实行引擎,因此Atoum可以在不同的流程中,并走运行各种测试用例。
此外,Atoum通过供应仿照构建的高等功能,来最大程度地减少测试运行中的依赖性。

安装步骤

在安装与设置Atoum框架之前,请确保您的系统中已安装了最新版本的PHP。

步骤1:从其官方网站--https://getcomposer.org/处下载并安装Composer。
步骤2:通过链接--https://atoum.readthedocs.io/en/latest/installation.html#phar-archive下载并安装PHAR文件。
步骤3:从Git存储库http://github.com/atoum/atoum.git处进行克隆。

利用Atoum框架的上风

1. 易于编写测试用例。

2. 供应了多个易于有效实现测试用例的断言(assertions)。

3. 通过快速完成仿照测试,可以减少解析依赖关系时的等待韶光,进而提高测试的实行效率。

4. 可天生不同格式的测试报告。

5. 可与Jenkins、Travis CI、CircleCI等持续集成工具相整合。

6. 可通过添加如下插件,让测试框架更加稳定。

a. json-schema-extension — 用于验证JSON标签。

b. bdd-extension — 用于编写具有更好可读性的BDD样式测试用例。

c. reports-extension - 用于编写代码覆盖率的报告。

7. SimpleTest

作为一款PHP测试框架,SimpleTest可用于单元测试、Web测试、以及PHP Web开拓的仿照工具。
该框架通过内置的Web浏览器,以方便用户导航到不同的网页上,并开展测试。

安装步骤

步骤1:在系统中安装最新版本的PHP。
步骤2:从其官网http://simpletest.sourceforge.net/处下载并设置该框架。

利用SimpleTest框架的上风

1. 对付单元测试非常实用。

2. 为表单、SSL、框架、代理、以及基本身份验证,供应了广泛的支持。

3. 具有内置的Web浏览器,可帮忙测试Web运用。

4. 可通过浏览器,以及命令行来实行测试。

5. 可与PHPUnit一起利用。

6. 具有高度的灵巧性,并能够自定义输出结果。

8. phpspec

作为另一种行为驱动开拓(BDD)框架,phpspec可用于编写和实行由PHP编写的测试。
它能够根据开拓职员供应的规范,来驱动设计。

安装步骤

步骤1:在系统中安装PHP 5.6或7。
步骤2:根据链接--http://www.phpspec.net/en/stable/,精确地设置Composer,以自动管理所有项目的依赖项,否则phpspec将无法检测到各种类。
步骤3:利用命令“composer require –dev Phpspec/Phpspec”,来安装phpspec。
之后,您会把稳到所有依赖项都已被成功安装在vendor文件夹中。
对应的可实行文件也在vendor/bin/phpspec中。

利用phpspec框架的上风

能够自动为类和方法天生框架。
具有一个仿照框架。
供应了14个内置的匹配器,个中包括常见的比较匹配器、近似匹配器、类型匹配器、以及标识匹配器等。
它们可以验证和描述测试的结果。
可以通过配置诸如DataProvider插件、框架集成插件、代码天生插件、以及Matchers插件等,来扩展该框架。
9. Peridot

Peridot常被开拓职员誉为可利用BDD方法的精良PHP框架之一。
在Peridot中用describe-it语法编写出的测试代码(见如下代码段),不但易于阅读和理解,而且便于掩护。
由于能够快速地加载,且能并行地运行测试套件,因此它被认为是PHP框架中最快的一款。

安装步骤

步骤1:利用Composer来轻松安装该框架,并管理项目中的依赖项。
步骤2:可通过链接--https://peridot-php.github.io/#getting-started,来下载并手动安装PHAR。

利用Peridot框架的上风

1. 可利用熟习的describe-it语法,来创建清晰易读的测试措辞。

2. 为了实现扩展,可利用各种类型的插件来自定义测试框架。

3. 可通过与WebDriver和数据库相集成,来实行测试。

4. 与上述Phpspec和PHPUnit之类的PHP框架比较,Peridot属于轻量级和快速型。

5. 可帮忙实行高速集成测试。

6. 供应针对不同特定目的而专门设计的报告器,如:Peridot List报告器、并发报告器、以及代码覆盖率报告器等。

10. Kahlan

作为一种单元式和行为驱动的PHP框架,Kahlan利用了类似于Peridot的describe-it语法。
无需任何PHP扩展,我们即可将该开源框架作为补丁植入(stub)代码。

Kahlan同样利用describe-it语法,来简化用户对付测试的掩护和理解。
个中,describe关键字常日包含了各种方法规范;而it关键字则包含待测试的简明代码。
如下大略代码清晰地展示了describe-it语法:

安装步骤

步骤1:应事先在系统中安装5.5版以上的PHP。
如需进行代码覆盖率剖析,则要安装phpdbg或xdebug。
个中,Xdebug是一个可用于调试目的PHP扩展。
步骤2:通过安装Composer来管理项目的依赖项,并可参考Kahlan的官方解释--https://kahlan.github.io/docs/getting-started.html#installation,来手动设置该框架。

利用Kahlan框架的上风

1. 供应了许多可用于测试不同场景的匹配器。

2. 供应了可用于办理各种依赖关系的stub选项。

3. 内置了报告与导出功能。

4. 易于扩展,并可根据需求进行定制。

5. 许可用户利用诸如:beforeAll、beforeEach、afterEach、以及afterAll等安装(setUp)和拆卸(tearDown)方法。

6. 具有内置的代码覆盖率导出器,可用于获取有关代码覆盖率的详细信息。

原文标题:10 of the Best PHP Testing Frameworks for 2021,作者: Shalini Baskaran

【51CTO译稿,互助站点转载请注明原文译者和出处为51CTO.com】

标签:

相关文章

Python编程从入门到精通,探索编程之美

编程已经成为现代社会的一项基本技能。Python作为一种简单易学、功能强大的编程语言,在我国教育领域备受关注。本文将从Python...

网站推广 2025-03-02 阅读1 评论0

Scum07代码编程之美与适用方法

编程已成为当今社会不可或缺的技能之一。Scum07代码作为一款经典的编程语言,在我国众多程序员中备受推崇。本文将深入解析Scum0...

网站推广 2025-03-02 阅读1 评论0

Linux环境下的前端代码运行优化与步骤

前端技术逐渐成为软件开发的核心。Linux操作系统因其稳定性、安全性、开放性等特点,成为众多开发者和企业青睐的运行环境。本文将从L...

网站推广 2025-03-02 阅读1 评论0