behat FeatureContext.php 如何跳过场景
behat FeatureContext.php how to skip a scenario
我试图找到一种方法来跳过 FeatureContext.php 中的场景。
我得到了一个测试,只有条件正确时我才会执行,否则 der 将被跳过。我的想法是用“@weeksale”
之类的标签来检查场景
@weeksale
Scenario: test
Given I go to "/"
Then I should see "Unsere Leistungen"
在我的 FeatureContext 中我得到了一个条件,如果它是假的,他们就跳过了
/**
* @beforeScenario
* @weeksale
*
* @param Behat\Behat\Event\ScenarioEvent $event
*/
public function weekSaleInTime($event)
{
$dateUrl = $this->parameters['weekSaleDatePage'];
$date = file_get_contents($dateUrl);
$dateArray = explode("\r\n", $date);
$result = $this->isCurrentDateBetween($dateArray[0], $dateArray[1]);
if($result == false)
{
//behat skip this scenario
}
有人知道我如何告诉 behat 跳过场景吗?
(v2.5.5)
这就是您的持续集成工具要做的工作。
像这样在 behat.yml 文件中创建一个新路径:
event:
filters:
tags: '~@event'
paths:
features: features
bootstrap: %behat.paths.features%/bootstrap
extensions:
Behat\MinkExtension\Extension:
base_url: http://<YOUR URL HERE>
javascript_session: selenium2
browser_name: <BROWSER>
selenium2:
browser: "<BROWSER>"
wd_host: "http://127.0.0.1:9515/wd/hub"
goutte: ~
formatter:
name: pretty,html,junit
parameters:
output_path: ,../ci/published/report.html,../ci/published
如果您在持续集成工具中包含一个脚本,该脚本将选择要 运行 的哪一个,您应该已经开始了。
如果您在这些日期内手动 运行 测试,将 "events" 更改为 "default",它将照常 运行,同时删除所有标记为"@event".
在您的场景上方,只需添加一个标签,在您的示例中说 @weeksale
执行场景时 运行 命令
behat --tags '~@weeksale'
~
(否定)不 运行 特定的标记场景。
我试图找到一种方法来跳过 FeatureContext.php 中的场景。 我得到了一个测试,只有条件正确时我才会执行,否则 der 将被跳过。我的想法是用“@weeksale”
之类的标签来检查场景 @weeksale
Scenario: test
Given I go to "/"
Then I should see "Unsere Leistungen"
在我的 FeatureContext 中我得到了一个条件,如果它是假的,他们就跳过了
/**
* @beforeScenario
* @weeksale
*
* @param Behat\Behat\Event\ScenarioEvent $event
*/
public function weekSaleInTime($event)
{
$dateUrl = $this->parameters['weekSaleDatePage'];
$date = file_get_contents($dateUrl);
$dateArray = explode("\r\n", $date);
$result = $this->isCurrentDateBetween($dateArray[0], $dateArray[1]);
if($result == false)
{
//behat skip this scenario
}
有人知道我如何告诉 behat 跳过场景吗?
(v2.5.5)
这就是您的持续集成工具要做的工作。
像这样在 behat.yml 文件中创建一个新路径:
event:
filters:
tags: '~@event'
paths:
features: features
bootstrap: %behat.paths.features%/bootstrap
extensions:
Behat\MinkExtension\Extension:
base_url: http://<YOUR URL HERE>
javascript_session: selenium2
browser_name: <BROWSER>
selenium2:
browser: "<BROWSER>"
wd_host: "http://127.0.0.1:9515/wd/hub"
goutte: ~
formatter:
name: pretty,html,junit
parameters:
output_path: ,../ci/published/report.html,../ci/published
如果您在持续集成工具中包含一个脚本,该脚本将选择要 运行 的哪一个,您应该已经开始了。
如果您在这些日期内手动 运行 测试,将 "events" 更改为 "default",它将照常 运行,同时删除所有标记为"@event".
在您的场景上方,只需添加一个标签,在您的示例中说 @weeksale
执行场景时 运行 命令 behat --tags '~@weeksale'
~
(否定)不 运行 特定的标记场景。