如何提高 PHP 代码的质量?第三:端到端 / 集成测试

38 阅读1分钟

在本系列的最后一部分,是时候设置端到端 / 集成测试环境,并确保我们已经准备好检查我们工作的质量。

在本系列的前几部分中,我们建立了一个构建工具,一些静态代码分析器,并开始编写单元测试。

为了使我们的测试堆栈更完整,有一些测试可以检查你的代码是否在真实环境中运行,以及它是否能在更复杂的业务场景中运行良好。

在这里,我们可以使用为行为驱动开发构建的工具——官方 PHP 的 Cucumber 实现——Behat。我们可以通过运行以下代码来安装它:

$ php composer.phar require --dev behat/behat

增加一个目标到 build.xml(在本文的第一部分中描述了 Phing 设置)

<target name="behat">   <exec executable="bin/behat" passthru="true" checkreturn="true"/></target><target name="run" depends="phpcs,phpcpd,phan,phpspec,behat"/>

然后,你应该为文件 features/price.feature 的测试创建一个规范。

Feature: Price Comparison  In order to compare prices  As a customer  I need to break the currency barrier   Scenario: Compare EUR and PLN    Given I use nbp.pl comparator    When I compare100