webentwicklung-frage-antwort-db.com.de

Syntaxfehler "Syntaxfehler, unerwartetes Eingabeende, erwartet Keyword_end (SyntaxError)"

Ich kann meinen Rspec user_spec.rb-Test aufgrund eines Syntaxfehlers nicht ausführen. Zu viele "Ende" vielleicht in 2 verschiedenen Dateien? Ich habe an bestimmten Stellen "Ende" ohne Erfolg hinzugefügt und gelöscht. 

Syntaxfehler "Syntaxfehler, unerwartetes Eingabeende, erwartet Schlüsselwort_Endung (SyntaxError)" Erfordert 'spec_helper'

user_spec.rb

describe User do

  before do
    @user = User.new(name: "Example User", email: "[email protected]",
                     password: "foobar", password_confirmation: "foobar")
  end

  subject { @user }

  it { should respond_to(:name) }
  it { should respond_to(:email) }
  it { should respond_to(:password_digest) }
  it { should respond_to(:password) }
  it { should respond_to(:password_confirmation) }

  it { should be_valid }

    before do
    @user = User.new(name: "Example User", email: "[email protected]")
  end

  subject { @user }

  it { should respond_to(:name) }
  it { should respond_to(:email) }
  it { should respond_to(:password_digest) }

  before do
    @user = User.new(name: "Example User", email: "[email protected]")
  end

  subject { @user }

  it { should respond_to(:name) }
  it { should respond_to(:email) }

  it { should be_valid }

  describe "when name is too long" do
    before { @user.name = "a" * 51 }
    it { should_not be_valid }
  end
end

describe "when email format is invalid" do
    it "should be invalid" do
      addresses = %w[[email protected],com user_at_foo.org [email protected]
                     [email protected]_baz.com [email protected]+baz.com]
      addresses.each do |invalid_address|
        @user.email = invalid_address
        expect(@user).not_to be_valid
      end
    end

  describe "when email format is valid" do
    it "should be valid" do
      addresses = %w[[email protected] [email protected] [email protected] [email protected]]
      addresses.each do |valid_address|
        @user.email = valid_address
        expect(@user).to be_valid
      end
    end


describe "when email address is already taken" do
    before do
      user_with_same_email = @user.dup
      user_with_same_email.save
    end
describe "when password is not present" do
    before do
      @user = User.new(name: "Example User", email: "[email protected]",
                       password: " ", password_confirmation: " ")
    end
    it { should_not be_valid }
  end

  describe "when password doesn't match confirmation" do
    before { @user.password_confirmation = "mismatch" }
    it { should_not be_valid }
  end

user_pages_spec.rb

   require 'spec_helper'

describe "User pages" do

  subject { page }

  describe "signup" do
    before { visit signup_path }


    it { should have_content('Sign up') }
    it { should have_title(full_title('Sign up')) }
  end
end

    let(:submit) { "Create my account" }

    describe "with invalid information" do
      it "should not create a user" do
        expect { click_button submit }.not_to change(User, :count)
      end
    end

    describe "with valid information" do
      before do
        fill_in "Name",         with: "Example User"
        fill_in "Email",        with: "[email protected]"
        fill_in "Password",     with: "foobar"
        fill_in "Confirmation", with: "foobar"
      end
    end

      it "should create a user" do
        expect { click_button submit }.to change(User, :count).by(1)
      end
    end

Terminalausgang

/usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load': /Users/Abraham/code/sample_app/spec/models/user_spec.rb:85: syntax error, unexpected end-of-input, expecting keyword_end (SyntaxError)
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
    from /usr/local/rvm/gems/[email protected]_Rails_4_0/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'
10
HandDisco

Es scheint, dass Sie eine Reihe von describes haben, die niemals ends-Schlüsselwörter haben, beginnend mit describe "when email format is invalid" do bis describe "when email address is already taken" do

Machen Sie diesen Jungs ein Ende und Sie sind wahrscheinlich fertig =)

15
Miguelgraz

Hast du vielleicht eine zu viele hier?

 describe "when name is too long" do
     before { @user.name = "a" * 51 }
     it { should_not be_valid }
 end
 end
2
Jason Carty

$ Rails Server -b $ IP -p $ PORT - das hat das gleiche Problem für mich gelöst

0
Dani