【.com速译】作为能够支持测试和开发活动的工具和流程的集合,框架往往包括各种实用的库、可重用的模块、测试数据设置以及其他依赖。目前,无论是Web开发还是测试,都有很多业界成熟的框架供您根据实际需要进行选择,从而提高您团队的效率和生产力。作为一个优秀的框架,它通常需要具备以下优势:维护一个定义良好的代码结构。提供可有效用于测试的可重用模块和库。它可以加快测试过程和效率。可以避免代码重复。能够分析需求和测试范围。同时,在所有服务器端编程语言中,80%的网站都使用PHP。因此,我们有必要对PHP测试框架进行深入的研究,以方便使用标准格式和编写各种测试用例。下面,我将和大家一起探讨十款优秀的PHP测试框架是如何实现测试自动化的,以及它们各自的优缺点。1、PHPUnit作为程序员最常用的PHP测试框架,PHPUnit非常适合做单元测试。它由SebastianBergmann开发,是xUnit框架架构的一个实例。安装步骤在安装最新版本的PHPUnit--PHPUnit9.3之前,您需要安装PHP7.3或更高版本。下面是PHPUnit的安装步骤。第1步:从链接https://www.php.net/phar下载PHAR(PHP存档)。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的先决条件是:安装PHP5.6或更高版本。卷曲已启用。Codeception的具体安装步骤为:第一步:从官网—https://getcomposer.org/download/下载安装用于管理PHP中各种依赖的composer。它将有助于声明要在项目中使用的代码库并对其进行管理。第二步:从Codeception官网—https://codeception.com/install下载并安装PHAR。使用Codeception框架的优势1.作为“全栈测试框架”,可以对目标应用进行单元测试、功能测试、验收测试。2.通过使用简单的命名规则,可以帮助用户理解代码。其中,actions关键字可用于执行用户操作,如:点击、按键、填写输入框等;assertion关键字可以用来执行验证,就像使用TestNG和Junit进行验证一样;和抓取器可用于提取相关信息。3.提供在行为驱动开发(BDD)中运行用户故事的选项,例如JBehave和Cucumber。4.提供各种数据库模块,对数据库测试非常有用。5、带有WebDriver模块,可用于验收测试。6.有一个非常有用的用于Web服务测试的REST模块。为了验证JSON响应,该模块从特定的JSON标签中提取数据并验证各种XML响应。7、有助于与Jenkins、Teamcity等持续集成工具集成,辅助生成测试报告。3.Storyplayer作为一个开源的PHP测试框架,Storyplayer可以用来进行端到端测试、API自动化测试、Web应用测试。因为它提供了对多种编程语言的支持,所以可以说是优秀的PHP框架之一。安装步骤第一步:目前只支持AppleOSXYosemite和UbuntuLinuxDesktop14.10,需要提前安装PHP。第二步:根据其官网(https://datasift.github.io/storyplayer/v2/learn/getting-setup/index.html)的要求,需要额外的扩展,如CURL、JSON、OpenSSL等待补充。使用Storyplayer框架的优势1.它提供了一个开源的框架服务,无需订阅和付费,对于PHPweb开发新手来说非常实用。2.支持多种编程语言,让PHP开发和测试更简单。4.SeleniumHQ作为一个应用广泛的Web应用自动化测试框架,Selenium由四个主要组件组成:SeleniumIDESeleniumRCSeleniumWebDriverSeleniumGrid由于这些组件都是为特定目的而设计的,您可以根据自己的实际测试需要进行选择。安装步骤除了拥有最新版本的PHP之外,您还需要安装Composer以便管理项目的所有依赖项。使用Selenium框架的优势1.它是一个开源的自动化测试框架。2.拥有强大的支持社区。3.易于安装和实施用例测试。4.可在GoogleChrome、Firefox、Safari、InternetExplorer等不同浏览器运行测试用例,可无缝测试浏览器兼容性。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和纯英文(Gherkin语言包括Given、When和Then关键字)编写的,项目成员可以很容易地理解需求和测试用例之间的映射关系。场景可以写入功能文件,由上下文、后续操作和最终预期结果组成。4.详细的文档帮助用户轻松实现框架。6.Atoum作为较新的PHP测试框架,Atoum不仅简单,而且易于实现单元测试。由于提供了内联引擎、隔离引擎、并发引擎等多种内置执行引擎,Atoum可以在不同的进程中并行运行各种测试用例。此外,Atoum通过为模拟构建提供高级功能,最大限度地减少了测试运行中的依赖性。安装步骤在安装和设置Atoum框架之前,请确保您的系统上安装了最新版本的PHP。第1步:从其官方网站下载并安装Composer--https://getcomposer.org/。第2步:通过链接下载并安装PHAR文件--https://atoum.readthedocs.io/en/latest/installation.html#phar-archive。第3步:从Git存储库http://github.com/atoum/atoum.git克隆。使用Atoum框架的优点1.易于编写测试用例。2.提供多种断言,便于有效实现测试用例。3、通过快速完成模拟测试,可以减少解决依赖关系时的等待时间,从而提高测试执行效率。4.可以生成不同格式的测试报告。5.可与Jenkins、TravisCI、CircleCI等持续集成工具集成。6.可通过添加以下插件使测试框架更加稳定。A。json-schema-extension—用于验证JSON标签。b.bdd-extension—用于编写具有更好可读性的BDD风格的测试用例。C。reports-extension-用于编写代码覆盖率报告。7.SimpleTest作为一个PHP测试框架,SimpleTest可以用于PHPWeb开发的单元测试、Web测试和mock对象。该框架使用内置的网络浏览器来方便用户导航到不同的网页并进行测试。安装步骤步骤1:在您的系统上安装最新版本的PHP。第二步:从其官方网站http://simpletest.sourceforge.net/下载并设置框架。使用SimpleTest框架的优点1.非常实用的单元测试。2.为表单、SSL、框架、代理和基本身份验证提供广泛支持。3.内置网络浏览器,协助测试网络应用。4.可以通过浏览器和命令行执行测试。5.可以和PHPUnit一起使用。6、灵活性高,可以自定义输出结果。8.phpspec作为另一个行为驱动开发(BDD)框架,phpspec可以用来编写和执行PHP编写的测试。它根据开发人员提供的规范来驱动设计。安装步骤步骤1:在您的系统中安装PHP5.6或7。第二步:根据链接——http://www.phpspec.net/en/stable/,正确设置Composer自动管理所有项目的依赖,否则phpspec将无法检测到各种类。第三步:使用命令“composerrequire–devPhpspec/Phpspec”安装phpspec。之后,您会注意到所有依赖项都已成功安装在vendor文件夹中。对应的可执行文件也在vendor/bin/phpspec中。使用phpspec框架的优点能够自动生成类和方法的框架。有一个模拟框架。提供14种内置匹配器,包括普通比较匹配器、近似匹配器、类型匹配器和身份匹配器。他们验证并描述测试结果。可以通过配置DataProvider插件、框架集成插件、代码生成插件、Matchers插件等方式对框架进行扩展。9、PeridotPeridot经常被开发者称赞为优秀的可以使用BDD方法的PHP框架之一。使用describe-it语法在Peridot中编写的测试代码(见以下代码段)不仅易于阅读和理解,而且易于维护。由于其快速加载和并行运行测试套件的能力,它被认为是最快的PHP框架。安装步骤第一步:使用Composer轻松安装框架并管理项目中的依赖。第2步:您可以通过链接下载并手动安装PHAR--https://peridot-php.github.io/#getting-started。使用Peridot框架的优势1.您可以使用熟悉的describe-it语法来创建清晰易读的测试语言。2.为了实现扩展,可以使用各种类型的插件来定制测试框架。3.可结合WebDriver和数据库进行测试。4.与上面提到的Phpspec和PHPUnit等PHP框架相比,Peridot轻量级且速度快。5.可辅助高速集成测试。6.提供针对不同用途专门设计的reporter,例如:PeridotListreporter、concurrentreporter、codecoveragereporter等。10.Kahlan作为一个单一的、行为驱动的PHP框架,Kahlan使用了类似于Peridot的describe-it语法.这个开源框架可以在没有任何PHP扩展的情况下被修补到(存根)代码中。Kahlan还使用describe-it语法来简化用户维护和对测试的理解。其中,describe关键字通常包括各种方法规范;it关键字包含要测试的简洁代码。下面的简单代码清楚地展示了describe-it语法:安装步骤第一步:系统中需预先安装PHP5.5或以上版本。代码覆盖率分析需要安装phpdbg或xdebug。其中,Xdebug是一个可用于调试目的的PHP扩展。第二步:通过安装Composer管理项目依赖,参考Kahlan的官方说明--https://kahlan.github.io/docs/getting-started.html#installation手动设置框架。使用Kahlan框架的优势1.提供了很多匹配器,可以用来测试不同的场景。2.提供可用于解决各种依赖关系的存根选项。3.内置报表导出功能。4、易于扩展,可根据需要定制。5.允许用户使用beforeAll、beforeEach、afterEach、afterAll等方法安装(setUp)和移除(tearDown)。6.内置代码覆盖率导出器,可用于获取有关代码覆盖率的详细信息。原标题:10oftheBestPHPTestingFrameworksfor2021,作者:ShaliniBaskaran
