Ruby on Rails開発のインターン (Day 25)

こんにちは、皆さん!

今日は問題なく動いているAPI キーを使う許可を取ろうと思う。そう簡単に一個くれるのかどうかはよくはわからないが。代わりの何かの手段を提案してくると予想しているが、とにかくこの問題にもうちょっとちゃんと取り組んでほしいなと思う。じゃないと、先に進めないし。


  • トピック:
  1. rails-controller-testingジェムでテスト時にコントローラー内のインスタンス変数にアクセスする


  • 疑問:


  • 問題:
  1. assign関数が使えない


  • 学習した内容:
  1. テスト時にコントローラー内のインスタンス変数を直接使うことができなく、いくつかの関数を使う必要がある


  • 今後やってみたいこと:


  • リソース:
  1. GitHub - rails/rails-controller-testing: Brings back `assigns` and `assert_template` to your Rails tests


rails-controller-testingジェムでテスト時にコントローラー内のインスタンス変数にアクセスする

Capybaraテストでコントローラー内のインスタンス変数を使いたくなる時がある。僕の場合は一つ一つのマーカーを回りたいのでそのマーカーたちが定義されているコントローラーのインスタンス変数にアクセスしたい。少なくともいくつマーカーがあるのかわかって、そしたら、マップの中心を何回動かせばいいのかわかるのでって思ったのだけど。

少しネットで探してみると、rails-controller-testingというジェムを使うべきだそう。その後、下記のようにassigns関数を使うことでインスタンス変数にアクセスするそう。

assigns(:markers)

しかしながら、これに関して、僕の場合はNo method defined assigns functionというエラーが返ってきた。よって、またこの関数について詳しく探っていかないといけないという感じだね。

まとめ

今日、ついにAPIキーの問題が解決した(しかし、いったいどこが原因でどうやって直したのかよくわからない。APIキーを変えたからかもしれない)。そして、それをクリアしたのち、初めて、Capybaraテストから直接コントローラー内のインスタンス変数にアクセスすることができないことに気づいた。明日からはこの問題について掘り下げていく。何か変数が使えるいい方法が見つかるといいな。


ご精読ありがとうございました。では、また次回まで✌



Day 26はこちら↓↓
programming-shop.hatenablog.com


Day 24はこちら↓↓
programming-shop.hatenablog.com