aldavigdis/wp-tests-strapon

使用这个便捷的Composer包,将WordPress PHPUnit测试库绑定到您的插件或主题。

0.1.6 2024-03-23 16:34 UTC

README

使用这个便捷的Composer包,将WordPress PHPUnit测试库绑定到您的WordPress插件或主题。

此PHP Composer包简化了WordPress测试环境的配置和安装,以便在您的PHPUnit测试套件中使用WordPress的功能。

本质上,它具有与由WP-CLI脚手架安装的install-wp-tests.sh壳脚本相同的目的,但采用了更简化的方法

  • 它以PHP Composer包的形式提供,简化了更新和维护,您的代码库中不包含额外文件
  • 100%使用PHP编写,因此无需超出PHP之外的知识就能为项目做出贡献
  • 具有与任何WordPress开发环境相同的依赖项(cURL和ZipArchive PHP模块)
  • 不依赖于任何过时的技术,如Subversion,这些技术现在不应再使用
  • 测试环境将自动下载和配置,使用来自您的PHPUnit配置文件和环境变量的信息
  • 无需在每次重启计算机或开发环境后重新运行脚本以安装具有相同参数的开发环境

A screenshot of WP-Tests-Strapon, showing the test suite being prepared and run.

使用方法

WP-Tests-Strapon与PHPUnit集成,并在PHPUnit和您的WordPress插件测试套件之间充当引导层。只需像通常在遵循以下安装说明后那样运行./vendor/bin/phpunit即可。

有关PHPUnit本身的更多信息以及如何编写测试,请阅读他们的文档

安装

  1. 确保您已将PHPUnit版本9或10安装为项目的发展依赖项。
  2. 使用composer require --dev aldavigdis/wp-tests-strapon安装Composer包。

最后,打开您的PHPUnit配置文件(phpunit.xmlphpunit.xml.dist),并将根<phpunit>元素的bootstrap属性设置为vendor/aldavigdis/wp-tests-strapon/bootstrap.php

或者,您可以在自己的PHPUnit引导文件中包含或引入vendor/aldavigdis/wp-tests-strapon/bootstrap.php

示例PHPUnit配置文件

<?xml version="1.0" encoding="UTF-8"?>
<phpunit
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
    cacheResult="false"
    bootstrap="vendor/aldavigdis/wp-tests-strapon/bootstrap.php"
>
  <php>
    <env name="DB_USER" value="test_user" />
    <env name="DB_NAME" value="myawesome_plugin_test" />
  </php>
  <testsuites>
    <testsuite name="Project Test Suite">
      <directory>tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

环境变量和常量

您可以在phpunit.xml文件中设置这些,在终端会话中设置或在测试和生产环境中设置。

PHPUnit引导

  • WP_TESTS_CONFIG_FILE_PATH(常量):您的测试环境配置文件的位置。默认为Linux/Unix/macOS上的/tmp/wp-tests-strapon/config.php
  • WP_VERSION(环境变量):要测试的PHP版本。默认为master

配置文件常量

以下常量将在您的WordPress测试配置文件中设置

  • WP_DEFAULT_THEME
  • WP_TESTS_MULTISITE
  • WP_DEBUG
  • TABLE_PREFIX
  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST
  • WP_TESTS_DOMAIN
  • WP_TESTS_EMAIL
  • WP_TESTS_TITLE
  • WP_PHP_BINARY
  • WPLANG

默认值可以在生成文件时通过设置具有相同名称的环境变量来覆盖。您可以使用PHPUnit配置文件、PHPUnit运行时参数、全局在终端或CI环境中完成此操作。

待办事项列表

  • 在初始化配置文件时测试数据库连接
  • 如果数据库不存在,则创建数据库
  • 改进文档
  • 添加更多测试
  • 添加更多亮点
  • 在Mac上测试
  • 解决Windows支持问题(包括CMD和PowerShell)

常见问题解答

问:为什么选择AGPL许可证而不是更宽松的许可证?

答:AGPL确保那些没有付费使用我的软件但对其进行了修改的人做出贡献。如果您希望以费用获得不同的许可协议,可以安排。

问:为什么到处都是表情符号?

答:你为什么这么无聊和枯燥?

许可证

版权所有 (c) 2024 阿尔达·维吉迪丝·斯卡菲赫迪斯多蒂尔

本程序是免费软件:您可以在自由软件基金会发布的GNU Affero通用公共许可证的条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何后续版本。

本程序分发时希望它是有用的,但没有任何保证;甚至没有关于适销性或特定用途的隐含保证。有关详细信息,请参阅GNU Affero通用公共许可证。

您应该已经收到了随本程序一起提供的GNU Affero通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/

有关许可证的问题或对替代许可安排的请求,请联系作者 aldavigdis@aldavigdis.is.