salsadigitalauorg/scaffold-testing

为Drupal项目提供一组默认的Behat测试,确保在不同部署中保持测试的一致性。

0.4.0 2024-09-20 02:15 UTC

This package is auto-updated.

Last update: 2024-09-20 02:24:02 UTC


README

概述

脚手架测试库提供了一组针对Drupal项目定制的默认Behat测试,旨在确保在不同部署中的一致性测试。这个库通过提供现成的Behat测试场景来覆盖Drupal网站中的常见功能,从而帮助简化测试流程。

特性

  • 首页测试:确保首页成功加载并包含特定的关键词或短语。
  • 权限测试:检查不同用户角色在内容不同状态下(已发布、草稿、待审)的适当访问权限。
  • 工作流程测试:测试预期的审核状态及其之间的转换。
  • 搜索功能测试:验证搜索索引是否工作并返回预期的结果。

安装

  1. 将库添加到您的项目:您可以通过将库添加到您的composer.json文件中来包含此库。如果库托管在本地或可在VCS上访问,请确保您有权访问库路径。对于本地开发,您可以使用

    {
      "repositories": [
        {
          "type": "path",
          "url": "/path/to/scaffold-testing",
          "options": {
            "symlink": false
          }
        }
      ],
      "require-dev": {
        "salsadigitalauorg/scaffold-testing": "*"
      }
    }
  2. 安装库:运行以下命令来安装库

    composer require --dev salsadigitalauorg/scaffold-testing

用法

安装后,Behat测试文件将放置在您的Drupal项目的tests/behat/features/目录中。您可以使用类似以下命令运行这些测试:

vendor/bin/behat

请确保您已正确配置Behat,以便在Drupal项目中识别并执行这些测试。

配置

为确保在执行composer installcomposer update时运行salsadigitalauorg/scaffold-testing,请在项目composer.json文件的post-install-cmdpost-update-cmd部分添加以下内容:

"scripts": {
   "install-features": "Salsadigitalauorg\\ScaffoldTesting\\Installer\\Installer::features",
   "post-install-cmd": [
        "Salsadigitalauorg\\ScaffoldTesting\\Installer\\Installer::features"
    ],
   "post-update-cmd": [
        "Salsadigitalauorg\\ScaffoldTesting\\Installer\\Installer::features"
    ]
}

或者,只添加install-features命令

"scripts": {
   "install-features": "Salsadigitalauorg\\ScaffoldTesting\\Installer\\Installer::features",
}

要自定义测试或安装路径,您可以修改项目composer.json文件中的extra部分

"extra": {
  "scaffold-testing": {
    "target-dir": "tests/behat/",
    "files": {
        "homepage.feature": false,
        "login.feature": false,
        "search.feature": true
    },
    "override_feature_context": false
  }
}
  • target-dir:指定测试文件的基目录(默认:"tests/behat/")。
  • files:一个对象,其键是功能文件名,其值是布尔标志,指示是否覆盖现有文件。当省略files键时,将保留现有文件,并安装缺失的文件。
  • override_feature_context:是否覆盖现有的FeatureContext.php文件(默认:false)。

如果省略files部分,则仅当所有可用功能文件尚未存在于目标目录中时才安装所有可用功能文件。

安装程序将在target-dir内创建必要的子目录。

贡献

欢迎对脚手架测试库做出贡献!请随时提交拉取请求或为发现的任何错误或建议的增强功能创建问题。

许可

此库根据MIT许可证提供。有关更多信息,请参阅LICENSE文件。