RSpec在使用-f格式化器时抛出参数错误

3
我正在使用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

请注意,本文中保留了HTML标签。
1个回答

3

你搞错了。--format/-f参数期望传递格式说明本身,而不是测试文件的名称。

我不知道为什么会出现问题。

rspec spec\sampletest_spec.rb --format documentation

这个必须能够工作。但是,最简单的解决方法是在项目根目录中创建.rspec文件,并加入以下内容:

--format documentation

是的,只有这一行代码。如果你已经创建了这个文件,只需要运行以下命令:

rspec spec\sampletest_spec.rb

RSpec会从这个文件中读取配置,并应用所需的格式。

感谢@mudasobwa的快速回复。您使用.rspec文件的解决方案有效。 - Sandeep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接