wpdesk/wp-codeception

WP Desk Codeception 测试库。

安装次数: 52,764

依赖项: 3

建议者: 0

安全性: 0

类型:composer-plugin

2.11.13 2024-08-26 18:44 UTC

This package is auto-updated.

Last update: 2024-08-26 18:44:52 UTC


README

pipeline status coverage report Latest Stable Version Total Downloads Latest Unstable Version License

Codeception 测试库。

PHP 文档

https://wpdesk.gitlab.io/wp-codeception/index.html

安装

composer require --dev wpdesk/wp-codeception

用法

创建 codeception 测试

composer create-codeception-tests

此命令将创建 codeception 所需的所有文件夹和文件。

此外,还将创建带有 WP Desk 插件激活的示例测试:tests/codeception/tests/acceptance/ActivationCest.php

所需更改

  • 在文件 tests/codeception/bootstrap.sh 中更改 WPDESK_PLUGIN_SLUG 变量的值

运行测试

运行所有测试: composer run-codeception-tests

运行单个测试(整个类): composer run-codeception-tests ClassNameCest(例如:composer run-codeception-tests WooCommerceCest

运行单个测试(单个方法): composer run-codeception-tests ClassNameCest:methodName(例如:composer run-codeception-tests WooCommerceCest:makeOrder

运行所有测试,不关闭 docker-compose: composer run-codeception-tests all fast

运行单个测试(整个类)并不要关闭 docker-compose: composer run-codeception-tests ClassNameCest fast(例如:composer run-codeception-tests WooCommerceCest fast

运行单个测试(单个方法)并不要关闭 docker-compose: composer run-codeception-tests ClassNameCest:methodName fast(例如:composer run-codeception-tests WooCommerceCest:makeOrder fast

将 WooCommerce 版本传递给测试: composer run-codeception-tests all slow 3.7.0-beta.1

composer run-codeception-tests all fast 3.7.0-beta.1

composer run-codeception-tests ClassNameCest fast 3.7.0-beta.1

运行本地测试 - 不使用 docker

要求

  • mysql

    创建数据库 wptest

    创建用户 mysql,密码为 mysql

  • apache

    虚拟主机 wptests,根目录为 /tmp/wptests

  • chromedriver

    在 mac 上: brew install chromedriver

    如果测试不正常,请将 chromedriver 复制到 /usr/local/bin

  • selenium-server

    在 mac 上: brew install selenium-server-standalone 并启动 selenium 服务器。

  • hosts

    添加到 /etc/hosts127.0.0.1 wptests mysqltests chrome

运行

composer run-local-codeception-tests

编写测试

验收测试: https://codeception.com/docs/03-AcceptanceTests

推荐测试格式 - Cest: https://codeception.com/docs/07-AdvancedUsage

WordPress 和 codeception: https://codeception.com/for/wordpress

WebDriver(动作): https://codeception.com/docs/modules/WebDriver

扩展 wp-codeception 库

我们在 TesterWordpressActions 和 TesterWooCommerceActions 特性中拥有自定义的 Tester Actions。所有动作都应该添加到那里。

TesterWordpressActions 和 TesterWooCommerceActions 特性用于由 codeception 生成的 AcceptanceTester 类。

其他 WP Desk 插件

当插件使用其他插件并且这些插件在 WordPress 存储库中时,我们可以在 bootstrap.sh 中从存储库中安装它们。

当我们想要使用来自 wpdesk gitlab 的插件时,我们可以使用 prepare.sh 脚本。flexible-shipping-pro 插件中有示例用法。检查 flexible-shipping-pro/tests/codeception/prepare.sh.dist 文件。

提示

如果出现 unexpected alert open: {Alert text : },请将以下内容添加到 acceptance.suite.yml 中的 WPWebDriver 配置部分

            capabilities:
                unexpectedAlertBehaviour: "accept"

开发

在执行git checkout后运行的命令

运行 vendor/bin/codecept bootstrap tests/codeception

运行 vendor/bin/codecept build