类: RSpec::Core::ConfigurationOptions

继承
Object
  • Object
显示全部
定义于
lib/rspec/core/configuration_options.rb

概述

负责利用外部提供的配置选项,无论是通过命令行、.rspec~/.rspec$XDG_CONFIG_HOME/rspec/options.rspec-local 还是自定义选项文件。

实例属性摘要 折叠

实例方法摘要 折叠

构造函数详情

#initialize(args) ⇒ConfigurationOptions

返回 ConfigurationOptions 的新实例。

参数

  • args (Array<String>)

    命令行参数

12
13
14
15
# File 'lib/rspec/core/configuration_options.rb', line 12
def initialize(args)
  @args = args.dup
  organize_options
end

实例属性详情

#argsArray<String> (只读)

返回原始命令行参数。

返回值

  • (Array<String>)

    原始命令行参数

40
41
42
# File 'lib/rspec/core/configuration_options.rb', line 40
def args
  @args
end

#optionsHash (只读)

返回最终合并的选项,来自所有外部来源。

返回值

  • (Hash)

    最终合并的选项,来自所有外部来源

37
38
39
# File 'lib/rspec/core/configuration_options.rb', line 37
def options
  @options
end

实例方法详情

#configure(config) ⇒void

根据提供的外部配置选项更新提供的 RSpec::Core::Configuration 实例。

参数

21
22
23
24
25
# File 'lib/rspec/core/configuration_options.rb', line 21
def configure(config)
  process_options_into config
  configure_filter_manager config.filter_manager
  load_formatters_into config
end

#configure_filter_manager(filter_manager) ⇒void

此方法是私有 API 的一部分。 应尽可能避免使用此方法,因为它可能会在将来被移除或更改。

根据过滤器选项更新提供的 FilterManager

参数

  • filter_manager (FilterManager)

    要更新的实例

30
31
32
33
34
# File 'lib/rspec/core/configuration_options.rb', line 30
def configure_filter_manager(filter_manager)
  @filter_manager_options.each do |command, value|
    filter_manager.__send__ command, value
  end
end