bdd - SilverStripe 使用 Behat 运行测试抛出“No behat.yml found for module silverstripe/framework”错误
问题描述
我正在从事 SilverStripe 项目。我正在尝试为我的项目使用 Behat 编写行为测试。但是当我运行测试时出现错误。以下是我到目前为止所做的。
首先我使用composer安装模块
composer require --dev silverstripe/behat-extension
我在项目根文件夹下有behat.yml文件,定义如下
default:
suites: []
extensions:
SilverStripe\BehatExtension\MinkExtension:
default_session: facebook_web_driver
javascript_session: facebook_web_driver
facebook_web_driver:
browser: chrome
wd_host: "http://127.0.0.1:9515"
browser_name: chrome
SilverStripe\BehatExtension\Extension:
bootstrap_file: vendor/silverstripe/cms/tests/behat/serve-bootstrap.php
screenshot_path: %paths.base%/artifacts/screenshots
retry_seconds: 4 # default is 2
然后我尝试运行执行以下命令的测试。
vendor/bin/behat @framework
然后我收到以下错误。
In ModuleSuiteLocator.php line 166:
No behat.yml found for module silverstripe/framework
behat [-s|--suite SUITE] [-f|--format FORMAT] [-o|--out OUT] [--format-settings FORMAT-SETTINGS] [--init] [--namespace NAMESPACE] [--lang LANG] [--name NAME] [--tags TAGS] [--role ROLE] [--story-syntax] [-d|--definitions DEFINITIONS] [--snippets-for [SNIPPETS-FOR]] [--snippets-type SNIPPETS-TYPE] [--append-snippets] [--no-snippets] [--strict] [--order ORDER] [--rerun] [--stop-on-failure] [--dry-run] [--] [<module> [<paths>]]
vendor/silverstripe/framework 文件夹中没有 behat.yml。实际上,它应该与框架一起提供。但它不存在。我该如何解决这个错误?
解决方案
对于所有 SilverStripe 模块,测试和相关配置不附带可分发包(例如标签)。
如果你想使用它们,你需要安装“dev”版本。例如4.5.x-dev
,而不是~4.5.0
.
推荐阅读
- excel - Excel:定义一个 VBA 函数来缩短 PERCENTRANK
- java - java.lang.IllegalStateException:指定的孩子已经有一个父母。您必须先在孩子的父母上调用 removeView()
- ios - 当用户填写一些文本字段时如何更新 UILabel 的文本
- javascript - 如何在点击时传输输入值
- c# - 在不与数据表帖子重叠的范围内查找最大的 TimeSpan
- jquery - 在一个函数中返回视图和 json 数据
- yii - Yii 上是否有任何无头 CMS?
- java - Java - 附加到循环中的文件或打印整个字符串
- javascript - 如何在laravel中显示弹出警报
- google-apps-script - Google 表格脚本在共享链接中不起作用