bur*_*tlo 19
支持Tyler的回答我想提出这些额外的信息:
如果您在多个不同的环境中运行系统,则可能需要创建配置文件,然后只为您定义一个排除该文件的默认配置文件.
# config/cucumber.yml
##YAML Template
---
windows: --tags ~@not-windows
default: --tags @not-windows
Run Code Online (Sandbox Code Playgroud)
执行(在非Windows系统/默认情况下)
$ cucumber
Run Code Online (Sandbox Code Playgroud)
执行(在Windows系统上):
$ cucumber -p windows
Run Code Online (Sandbox Code Playgroud)
您可以将默认值设置为当前所处的环境,以节省自己必须记住哪些功能不执行; 允许你只是执行cucumber.
创建一个rake任务,检查您的环境并包含您想要的标记:
require 'rubygems'
require 'cucumber'
require 'cucumber/rake/task'
WINDOWS_PLATFORM = /mswin|win32|mingw/ unless defined? WINDOWS_PLATFORM
Cucumber::Rake::Task.new(:features) do |t|
tags = (RUBY_PLATFORM =~ WINDOWS_PLATFORM ? "~@not-windows" : "@not-windows")
t.cucumber_opts = "features #{tags}"
end
Run Code Online (Sandbox Code Playgroud)
执行(在任一平台上):
$ rake features
Run Code Online (Sandbox Code Playgroud)
这应该根据您的环境自动包含正确的标记.
Tyl*_*ler 17
处理此问题的最佳方法可能是使用标签.
例如,如果您添加类似于@not-windows功能的标记,则可以自定义黄瓜执行以忽略此操作.
@not-windows
Feature: Your feature that causes a problem
your scenarios
Run Code Online (Sandbox Code Playgroud)
如果你随后运行测试,cucumber --tags ~@not-windows它将运行未被@ not-windows标记的所有cukes.〜是导致"不"行为的原因,你可以通过这样做来运行这些标签cucumber --tags @not-windows.在Windows中使用第一个黄瓜线,你可以阻止运行中有问题的功能(或个别场景),但如果你在另一个操作系统并正常运行黄瓜,这些仍将运行.
参考:https://github.com/cucumber/cucumber/wiki/Tags
| 归档时间: |
|
| 查看次数: |
9749 次 |
| 最近记录: |