RSpec 使用 -f 格式化程序时抛出参数错误

RSpec throws argument error while using -f formatter

我正在使用 ruby 和 rspec 与 watir 一起编写自动化测试用例。

C:\Users\san\Dragon>gem list 'rspec'

*** LOCAL GEMS ***

rspec (3.4.0, 2.14.1)
rspec-core (3.4.3, 2.14.8)
rspec-expectations (3.4.0, 2.14.5)
rspec-mocks (3.4.1, 2.14.6)
rspec-support (3.4.1)

当我运行测试用例使用以下命令时。

C:\Users\san\Dragon>rspec -f spec\sampletest_spec.rb:65

我遇到了这个错误

C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/formatters.rb:173:in `find_formatter': Formatter 'spec\sampletest_spec.rb:65' unknown - maybe you meant 'documentation' or 'progress'?. (ArgumentError)
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-.4.3/lib/rspec/core/formatters.rb:141:in `add'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:767:in `add_formatter'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:114:in `block in load_formatters_into'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:114:in `each'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:114:in `load_formatters_into'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:23:in `configure'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:105:in `setup'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:92:in `run'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:78:in `run'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:45:in `invoke'
    from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-3.4.3/exe/rspec:4:in `<top (required)>'
    from C:/Ruby193/bin/rspec:23:in `load'
    from C:/Ruby193/bin/rspec:23:in `<main>'

也出现同样的错误

rspec spec\sampletest_spec.rb --format documentation
rspec --format spec\sampletest_spec.rb

你把事情搞砸了。 --format/-f 参数期望将格式描述本身传递给它,而您传递的是测试文件的名称。

我不知道为什么

有问题
rspec spec\sampletest_spec.rb --format documentation

这个一定有用。但无论如何,最简单的解决方案是在项目根目录中创建 .rspec 文件,内容如下:

--format documentation

是的,唯一的一行。创建此文件后,只需 运行

rspec spec\sampletest_spec.rb

RSpec 将从该文件中读取配置并应用所需的格式。