解決したいこと
docker+rails+react+javascriptで環境構築したテストが通らない
上記で環境構築してCircleCIに接続しビルドまではできたのですがテストが通らないので
解決方法を教えてください。
発生している問題・エラー
Error:
SampleControllerTest#test_should_get_index:
NameError: undefined local variable or method `sample_index_url' for #<SampleControllerTest:0x000055720216aa48 @_routes=nil, @NAME="test_should_get_index", @failures=[#<Minitest::UnexpectedError: Unexpected exception>], @assertions=0, @integration_session=#<#Class:0x000055720118e7a0:0x000055720118d9b8 @_routes=nil, @app=#<Myapp::Application:0x00005572025757f0 @_all_autoload_paths=["/myapp/app/channels", "/myapp/app/controllers",
githubのソースコードは以下です。
https://github.com/Minori411/Minoiro_view
自分で試したこと
テストの中にあるget sample_index_urlの意味が全くわからなかったのでgetの意味を調べましたが
ルーティングの時に使われる言葉なのでなぜテストにgetが書いてあるのかわかりませんでした。
複数の記事を調べましたが解決に至る記事はありませんでした。
よろしくお願いいたします。
追記
get は結合テストで利用できるヘルパーメソッドです。指定した URL に対して HTTP GET リクエストを送ります。 https://railsguides.jp/testing.html#結合テストで利用できるヘルパー
エラーの原因は sample_index_url メソッドが存在しないからです。ルーティングを get "sample", to: "sample#index" と定義していますが、これに対応して生成されるヘルパーメソッドは sample_url と sample_path です。こちらを使ってください。
ルーティングとヘルパーメソッドの対応について詳しくは次のページを読んでください。 https://railsguides.jp/routing.html#単数形リソース
という答えをいただき、sample_controller.rbにdef sample_index_url メソッドを追加しましたがエラーは解決しませんでした。
よろしくお願いいたします。
あなたの回答
tips
プレビュー