voceconnect/wp-qa-suite

此包的最新版本(1.1.0)没有可用的许可信息。

安装用于基本质量检查和WordPress项目的测试脚本和命令

1.1.0 2015-07-07 16:20 UTC

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 变得容易。

设置

  1. 添加一个 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"
  ]
}
  1. 执行 composer install --dev

脚本

bin/wp-qa-codesniff

从项目的根目录读取 phpcs.ruleset.xml 并使用 git ls-tree 对项目中的PHP文件执行 phpcs。已安装并添加 WordPress-Coding-Standards/WordPress-Coding-Standardsphpcsinstalled_paths 配置中。

bin/wp-qa-phpunit

安装最新版或指定版本的WordPress、WordPress测试套件、设置数据库并执行 phpunit --configuration phpunit.xml。设置从项目根目录中的 phpunit.xml 读取。

参数:

  • wp_version - (必需)要测试的WordPress版本,例如 3.9.23.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.45.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单元测试。