su-sws / linky_clicky
Behat 测试意味着 linky_clicky 的终结。
Requires
- behat/behat: ~3.3
- behat/mink: ^1.7.0
- behat/mink-goutte-driver: ^1.2.1
- behat/mink-selenium2-driver: ^1.3
- drupal/drupal-driver: ^1.2.1
- drupal/drupal-extension: ~3.4
- emuse/behat-html-formatter: ~0.1
- psr/log: *
- weavora/mink-extra-context: dev-master
- 6.x-dev
- 5.x-dev
- 4.x-dev
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/twig/twig-1.44.7
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
- dev-SITES-1140
- dev-5.x-featured-blocks
- dev-6.x-SITES-831-ACSF-d.o-CJW
- dev-5.x-SOE-3065-credits-hotfix
- dev-SITES-528
- dev-socorro
- dev-DEVOPS-123
- dev-BexBehatScreenshotExtension
- dev-jbickar-patch-N
- dev-weblogin
- dev-paranoiafix
- dev-BASIC-2385/caleb
- dev-5.x-soe-and-i-wait
- dev-soe-redesign-menu
- dev-5.x-rm-outlines
- dev-paragraphs
- dev-test-imgur-api
- dev-remove_masonry_news
- dev-soe-redesign-cj
- dev-HSDO-922-slideshow
- dev-5.x-blt
- dev-HSDO-957-views-selective-filters
- dev-DEVOPS-99
- dev-capx-testing
- dev-sse-redesign
- dev-jse-audit
- dev-stanford_sites_helper_7_x_1_7
- dev-jbickar-patch-1
- dev-login
- dev-version-tests
- dev-stanford-jumpstart-deployer
- dev-lbre
- dev-CAW-752
- dev-shoov
- dev-stanford_courses
- dev-BASIC-1671
- dev-hsdo167
- dev-behat3
- dev-jsvpsa.stanford_gallery.feature
This package is auto-updated.
Last update: 2024-09-19 21:51:45 UTC
README
Behat 测试意味着 linky_clicky 的终结!
安装
您可以从 composer.json 文件中复制值到本地文件,或者在此处编译。Composer 创建的文件和目录将被添加到 .gitignore
composer install
如果您本地安装,应该有一个 bin/behat
可执行文件。您可以指向该 behat 安装,或者以其他方式使用它。
从 behat3 分支更新现有项目
待办事项
- 更新 behat.yml 路径
- 更新 behat.local.yml 路径
- 更新来自 features/bootstrap 的符号链接
- 更新指向共享测试的符号链接,例如:includes/jumpstart_home
从 Behat 1.0 更新现有项目
如果您有 behat.local.yml
文件(它不被 git 跟踪),请更新它以匹配 behat.local.yml.default
中的语法。特别是
Behat\MinkExtension\Extension
需要更改为Behat\MinkExtension
Drupal\DrupalExtension\Extension
需要更改为Drupal\DrupalExtension
否则,您可能会遇到以下错误
[Behat\Testwork\ServiceContainer\Exception\ExtensionInitializationException]
`Behat\MinkExtension\Extension` extension file or class could not be located.
创建新项目
当为新的网站创建一组测试功能时,为该网站创建一个新目录。将 behat.yml.default
和 behat.local.yml.default
复制到该目录的根目录,并分别重命名为 behat.yml
和 behat.local.yml
。编辑 "base_url" 和 drush "别名" 值以匹配您正在测试的网站。
behat.yml
导入 includes/extensions/*
和 includes/config
中的文件
behat.local.yml
被git忽略。
创建一个 features
目录,并将您的 *.feature
文件放在该目录中。
创建一个 features/bootstrap
目录,将 FeatureContext.php.default
复制到那里,并重命名为 FeatureContext.php
在 features/bootstrap
目录中,为以下每个文件创建一个符号链接。
- SWSFeatureContext.php -> includes/bootstrap/SWSFeatureContext.php
- SWSDrupalContext.php -> includes/bootstrap/SWSDrupalContext.php
- SWSMinkContext.php -> includes/bootstrap/SWSMinkContext.php
默认的 FeatureContext.php
文件是您放置网站特定步骤定义的地方。
SWSFeatureContext.php
文件是存储所有自定义共享步骤定义的地方。Behat 3 不再允许子上下文,并且对 DrupalContext 和 MinkContext 的引用存储在这个文件中的变量中。
SWSDrupalContext.php
文件是 DrupalExtention DrupalContext 覆盖文件,包含对 Drupal 登录步骤的覆盖,这是必要的,因为 WMD 将用户登录表单隐藏在可折叠的字段集中。
SWSMinkContext.php
文件是 DrupalExtension MinkContext 覆盖文件,包含一个额外的函数。
您可以在新项目的 includes/features
目录中找到一些起始或常见功能测试,可以在新项目中使用。只需将这些复制到您的新项目功能文件夹中,然后开始编辑它们以适应您的新网站或产品。
格式化程序
Behat 3 中的格式化程序和语法已更改。默认情况下,Behat 3 不再包含 html 输出选项。Composer 构建中包含一个 behat 的 HTML 格式化程序,但需要在您的 behat.local.yml 文件中配置它或通过命令行参数传递给 behat 函数。
参见:https://github.com/dutchiexl/BehatHtmlFormatterPlugin 以及:http://docs.behat.org/en/latest/guides/7.run.html
目录结构
sitename
|--behat.yml
|--behat.local.yml
|--features
|--featurename.feature
|--bootstrap
|--FeatureContext.php
|--SWSFeatureContext.php
|--SWSDrupalContext.php
|--SWSMinkContext.php
git-crypt
本存储库中的一些文件使用 git-crypt 加密。有关解密这些文件的说明,请参阅 SWS Confluence 上的指南(需要认证):使用 git-crypt 加密文件。
Travis 集成
CAPx
包含 CAPx 凭据的自定义步骤定义。要在 travis-ci.org 中使用此定义,请转到要测试的存储库的设置。添加两个环境变量 "CAPX_USER" 和 "CAPX_PASSWORD"。验证值不显示在日志报告中。然后在 behat 测试中,使用步骤定义 "Given I am authenticated with CAPx"。这将跟踪现有凭据并加密来自 travis 环境变量的新凭据。这只会设置变量。任何额外的测试可能需要测试期间更新组织代码。
参见
参见 [使用 Linky Clicky] (https://github.com/SU-SWS/linky_clicky/blob/5.x/UsingLinkyClicky.md)
参见 [运行 Linky Clicky] (https://github.com/SU-SWS/linky_clicky/blob/5.x/RunningLinkyClicky.md)