繁体   English   中英

我正在尝试使用rspec在我的网页上运行Rails测试,但它给了我错误(Ubuntu)

[英]I am trying to run a Rails test using rspec on my webpage, but it gives me errors (Ubuntu)

在我之前的同一篇文章中,我并没有解决问题,也没有得到很多答案,所以我重新发布了问题,以寻求更多帮助。

我正在遵循Michael Hartl的教程,在3.2.1中,我们正在使用以下方法测试服务器:

require 'spec_helper'

describe "Static pages" do

  describe "Home page" do

    it "should have the content 'Sample App'" do
      visit '/static_pages/home'
      expect(page).to have_content('Sample App')
    end
  end
end

当我在控制台中输入“ bundle exec rspec spec / requests / static_pages_spec.rb”时,出现了一系列错误,如下所示:

root@KyleBuntu:~/Desktop/Rails/sample_app# bundle exec rspec spec/requests/static_pages_spec.rb
/home/verendus/Desktop/Rails/sample_app/spec/requests/static_pages_spec.rb:1:in `require': /home/verendus/Desktop/Rails/sample_app/spec/spec_helper.rb:44: syntax error, unexpected tIDENTIFIER, expecting end-of-input (SyntaxError)
:DSL to config.include Capybara::DSL
       ^
    from /home/verendus/Desktop/Rails/sample_app/spec/requests/static_pages_spec.rb:1:in `<top (required)>'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
    from /home/verendus/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'

我知道应该得到一个错误,但是在书中,作者收到的错误要短得多,而且有所不同。 (评论链接)

我已经更改了rspec_helper.rb文件以添加Capybara DSL,但是我不确定这是否是问题,以及是否输入正确。 一般来说,我对Rails,Ruby和编码/ Linux系统(我正在使用Ubuntu)也很陌生,因此,如果需要什么,请问一下。

Github评论链接。

您似乎在spec_helper.rb:44中有一条注释行,该注释行已被部分删除,因此没有注释。

:DSL to config.include Capybara::DSL
# This file is copied to spec/ when you run 'rails generate rspec:install'

您可能会或可能不想实际配置config.include Capybara::DSL ,但:DSL to部分是导致语法错误的原因。

此外,您还有一些奇怪的地方. 下面的行中的句点可能会导致您出现更多语法错误。 您甚至可能希望再次运行rails generate rspec:install来完全重新生成文件。

您的spec_helper.rb文件中有错误。

这条线

:DSL to config.include Capybara::DSL

应该删除。 相反,如果要包含Capybara::DSL ,则应添加

config.include Capybara::DSL

RSpec::configure do |config| 块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM