質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Q&A

解決済

1回答

428閲覧

rails setupメソッドがsyntax_errorになってしまう(end-of-input)

nuasKent

総合スコア22

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

0グッド

0クリップ

投稿2018/08/27 14:02

概要

お世話になります。
現在、__michael hert__氏のRailsTutorialの5版:11章(11.31)をしているのですが、
11.31 有効化のテストとリファクタリングにて躓いています。
以下が該当のサンプルコードです。

11.31のサンプルコード

そこで、サンプルコードの記載にある通りに記述してみたのですが、
rails tした際にsyntax errorが出てしまいます。

このエラーの詳細文は以下です。

22:41:06 - INFO - Running: test/integration/users_signup_test.rb bin/rails: /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/test/integration/users_signup_test.rb:33: syntax error, unexpected keyword_end, expecting end-of-input (SyntaxError)

ここまでを考慮すれば、endを33行に誤って入れてしまっているのかと思ったのですが、模写元のサンプルコード通りに、自分が作成したテストコード(写経)もendないしdoも記述していました。
調べに調べたのですが、同じように躓いてる方も見つけられなかったので、こちらにてご教授ないしご指摘等があればと思い投稿に至りました。
以下により詳細な情報を記載します。

自分が模写したコード

require 'test_helper' class UsersSignupTest < ActionDispatch::IntegrationTest test setup ActionMailer::Base.deliveries.clear end test "invalid signup information" do get signup_path assert_no_difference 'User.count' do post users_path, params: { user: { name: "" , email: "user@invalid", password: "foo", password_confirmation: "bar" } } end assert_template 'users/new' end test "valid signup information" do get signup_path assert_difference 'User.count', 1 do post users_path, params: { user: { name: "Example User", email: "user@example.com", password: "password", password_confirmation: "password" } } end follow_redirect! # assert_template 'users/show' # assert is_logged_in? end end

エラー全文

from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:255:in `load_dependency' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/test_unit/runner.rb:50:in `block in load_tests' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/test_unit/runner.rb:50:in `each' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/test_unit/runner.rb:50:in `load_tests' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/test_unit/runner.rb:39:in `run' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/commands/test/test_command.rb:38:in `perform' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/command/base.rb:63:in `perform' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/command.rb:44:in `invoke' from /Users/nasa/Gdrive_r75rid/local_document/Ruby/environment/tumatter_app/vendor/bundle/ruby/2.3.0/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>' from bin/rails:4:in `require' from bin/rails:4:in `<main>'

備考

ちなみに、gitの以前のコミットの戻った際は全てテストも動作しています。
また、コードを記載する際に、setupの関数を記載した段階でテストがエラーになることも切り分け済みです。

以上です
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

test setup ActionMailer::Base.deliveries.clear end

は、

def setup ActionMailer::Base.deliveries.clear end

でしょうか?

投稿2018/08/27 14:59

inabajunmr

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nuasKent

2018/08/27 15:44

盲点でした。 ほんまにありがとうございます???????? 仰る通り、setupはテストではなく関数でした。 ご指摘ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問