voceconnect / wp-qa-suite
安装用于基本质量检查和WordPress项目的测试脚本和命令
Requires
This package is not auto-updated.
Last update: 2024-09-24 07:17:06 UTC
README
一套脚本,便于向指定的WordPress项目主题或插件中添加语法检查、单元测试和代码嗅探。
wp-qa-suite 为项目提供了一种一致的方式,包括持续集成功能,类似于Travis CI,而无需编写BASH语句。由于 wp-qa-suite 可以通过Composer安装,这使得为多个项目更新 wp-qa-suite 变得容易。
设置
- 添加一个 composer.json文件来安装wp-qa-suite,示例
{
  "name": "you/your-wordpress-plugin",
  "description": "A WordPress plugin to illustrate how to use wp-qa-suite...",
  "license": "GPLv2+",
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/voceconnect/wp-qa-suite.git"
    }
  ],
  "require-dev": {
    "voceconnect/wp-qa-suite": "~1.0"
  },
  "bin": [
    "bin/wp-qa-syntax",
    "bin/wp-qa-phpunit",
    "bin/wp-qa-codesniff"
  ]
}
- 执行 composer install --dev
脚本
bin/wp-qa-codesniff
从项目的根目录读取 phpcs.ruleset.xml 并使用 git ls-tree 对项目中的PHP文件执行 phpcs。已安装并添加 WordPress-Coding-Standards/WordPress-Coding-Standards 到 phpcs 的 installed_paths 配置中。
bin/wp-qa-phpunit
安装最新版或指定版本的WordPress、WordPress测试套件、设置数据库并执行 phpunit --configuration phpunit.xml。设置从项目根目录中的 phpunit.xml 读取。
参数:
- wp_version- (必需)要测试的WordPress版本,例如- 3.9.2、- 3.8.4等,或- latest。
- DB_USER- (可选,默认:travis)连接到MySQL时使用的用户名
- DB_PASS- (可选,默认:none)用于连接到MySQL的- DB_USER的密码
- DB_NAME- (可选,默认:wp_test)用于测试的MySQL数据库名称
- DB_HOST- (可选,默认:localhost)运行MySQL实例的主机以连接到
bin/wp-qa-syntax
对项目中的所有PHP文件执行语法检查。由于使用了 git ls-tree,脚本将只扫描项目中的文件,而不会扫描通过Composer安装的依赖项。
与Travis CI集成
示例 .travis.yml 文件
---
language: php
php:
  - 5.5
  - 5.4
env:
  - WP_VERSION=latest
before_script:
  - composer install --dev
script:
  - vendor/bin/wp-qa-syntax
  - vendor/bin/wp-qa-phpunit $WP_VERSION
.travis.yml 文件指定了在Travis CI中应该如何测试应用程序。
在这个存储库中的示例中,我们想要针对PHP版本 5.4 和 5.5 进行测试
php:
  - 5.5
  - 5.4
我们还可以通过指定环境变量 WP_VERSION 来针对不同的WordPress版本进行测试。将 WP_VERSION 环境变量传递给 wp-qa-phpunit 脚本,并使用它来检索最新版或指定版本的WordPress。
env:
  - WP_VERSION=latest
.travis.yml 文件的 before_script 部分用于“设置”或“准备”测试环境,在本例中用于安装Composer依赖项。
before_script:
  - composer install --dev
.travis.yml 文件的 script 部分指定了构成“测试”或“构建”的执行内容。如果这些命令返回的退出状态不等于0,则导致构建“失败”。
script:
  - vendor/bin/wp-qa-syntax
  - vendor/bin/wp-qa-phpunit $WP_VERSION
在这个示例中,我们想要执行所有PHP文件的语法检查,然后执行PHP单元测试。