类: RSpec::Core::Notifications::SummaryNotification

继承关系
Struct
  • Object
显示全部
定义于
lib/rspec/core/notifications.rb,
lib/rspec/core/notifications.rb

概述

SummaryNotification 包含有关运行测试套件结果的信息。它被格式化程序用于在测试运行结束时提供信息。

实例属性概要 折叠

实例方法概要 折叠

实例属性详细信息

#durationFloat

运行套件所花费的时间(以秒为单位)

返回值

  • (Float)

    duration 的当前值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def duration
  @duration
end

#errors_outside_of_examples_countInteger

处理规范套件时发生的错误数量

返回值

  • (Integer)

    errors_outside_of_examples_count 的当前值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def errors_outside_of_examples_count
  @errors_outside_of_examples_count
end

#examplesArray<RSpec::Core::Example>

运行的示例

返回值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def examples
  @examples
end

#failed_examplesArray<RSpec::Core::Example>

失败的示例

返回值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def failed_examples
  @failed_examples
end

#load_timeFloat

启动 RSpec 和加载规范文件所花费的秒数

返回值

  • (Float)

    load_time 的当前值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def load_time
  @load_time
end

#pending_examplesArray<RSpec::Core::Example>

挂起的示例

返回值

300
301
302
# File 'lib/rspec/core/notifications.rb', line 300
def pending_examples
  @pending_examples
end

实例方法详细信息

#colorized_rerun_commands(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒String

将失败的示例格式化为可重新运行的命令格式。

参数

  • colorizer (#wrap) (默认值: ::RSpec::Core::Formatters::ConsoleCodes)

    支持将文本包装在特定颜色中的对象。

返回值

  • (String)

    着色摘要行。

364
365
366
367
368
369
370
# File 'lib/rspec/core/notifications.rb', line 364
def colorized_rerun_commands(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  "\nFailed examples:\n\n" +
  failed_examples.map do |example|
    colorizer.wrap("rspec #{rerun_argument_for(example)}", RSpec.configuration.failure_color) + " " +
    colorizer.wrap("# #{example.full_description}",   RSpec.configuration.detail_color)
  end.join("\n")
end

#colorized_totals_line(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒String

根据配置的失败、挂起和成功颜色,将结果行包装在颜色中。默认情况下,分别为红色、黄色、绿色。

参数

  • colorizer (#wrap) (默认值: ::RSpec::Core::Formatters::ConsoleCodes)

    支持将文本包装在特定颜色中的对象。

返回值

  • (String)

    着色结果行。

347
348
349
350
351
352
353
354
355
# File 'lib/rspec/core/notifications.rb', line 347
def colorized_totals_line(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  if failure_count > 0 || errors_outside_of_examples_count > 0
    colorizer.wrap(totals_line, RSpec.configuration.failure_color)
  elsif pending_count > 0
    colorizer.wrap(totals_line, RSpec.configuration.pending_color)
  else
    colorizer.wrap(totals_line, RSpec.configuration.success_color)
  end
end

#example_countFixnum

返回运行的示例数量。

返回值

  • (Fixnum)

    运行的示例数量

306
307
308
# File 'lib/rspec/core/notifications.rb', line 306
def example_count
  @example_count ||= examples.size
end

#failure_countFixnum

返回失败的示例数量。

返回值

  • (Fixnum)

    失败的示例数量

312
313
314
# File 'lib/rspec/core/notifications.rb', line 312
def failure_count
  @failure_count ||= failed_examples.size
end

#formatted_durationString

返回运行套件所花费时间的格式化版本。

返回值

  • (String)

    运行套件所花费时间的格式化版本

374
375
376
# File 'lib/rspec/core/notifications.rb', line 374
def formatted_duration
  Formatters::Helpers.format_duration(duration)
end

#formatted_load_timeString

返回启动 RSpec 和加载规范文件所花费时间的格式化版本。

返回值

  • (String)

    启动 RSpec 和加载规范文件所花费时间的格式化版本

380
381
382
# File 'lib/rspec/core/notifications.rb', line 380
def formatted_load_time
  Formatters::Helpers.format_duration(load_time)
end

#fully_formatted(colorizer = ::RSpec::Core::Formatters::ConsoleCodes) ⇒String

返回以 RSpec 内置格式化程序发出方式完全格式化的摘要信息。

返回值

  • (String)

    以 RSpec 内置格式化程序发出方式完全格式化的摘要信息。

386
387
388
389
390
391
392
393
394
395
396
# File 'lib/rspec/core/notifications.rb', line 386
def fully_formatted(colorizer=::RSpec::Core::Formatters::ConsoleCodes)
  formatted = "\nFinished in #{formatted_duration} " \
              "(files took #{formatted_load_time} to load)\n" \
              "#{colorized_totals_line(colorizer)}\n"
  unless failed_examples.empty?
    formatted += (colorized_rerun_commands(colorizer) + "\n")
  end
  formatted
end

#pending_countFixnum

返回挂起的示例数量。

返回值

  • (Fixnum)

    挂起的示例数量

318
319
320
# File 'lib/rspec/core/notifications.rb', line 318
def pending_count
  @pending_count ||= pending_examples.size
end

#totals_lineString

返回总结规范运行结果总数的一行。

返回值

  • (String)

    总结规范运行结果总数的一行。

324
325
326
327
328
329
330
331
332
333
334
335
336
# File 'lib/rspec/core/notifications.rb', line 324
def totals_line
  summary = Formatters::Helpers.pluralize(example_count, "example") +
    ", " + Formatters::Helpers.pluralize(failure_count, "failure")
  summary += ", #{pending_count} pending" if pending_count > 0
  if errors_outside_of_examples_count > 0
    summary += (
      ", " +
      Formatters::Helpers.pluralize(errors_outside_of_examples_count, "error") +
      " occurred outside of examples"
    )
  end
  summary
end