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

こんにちは、皆さん!

今日は同僚のインターンに来てる人が今日でラスト1日になるのでみんなとランチに行くことになっている。楽しみだな。
一方で、もうマネージャーの修正を待ってもいられないので、エラーになっている部分をコメントアウトして、自分の書いたコードをテストしていこうと思う(笑)。


  • トピック:
  1. Capybaraテストでnative関数でCSSスタイルの値をより簡単に取り出す


  • 疑問:


  • 問題:


  • 学習した内容:
  1. エラーページのレイアウトをコントロールするジェムが存在する


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


  • リソース:
  1. GitHub - charliesome/better_errors: Better error page for Rack apps


Capybaraテストでnative関数でCSSスタイルの値をより簡単に取り出す

マップのテストのため、Capybaraテストのコードを書いていたとき、下記のようなコードでCSSのwidthのハッシュを以前やったように取り出した。

map_width_px = find("#map").style("width")

しかし、なぜか職場のプログラムだと下記のようなエラーが出てくるんですよね

NoMethodError:
   undefined method `style' for Obsolete #<Capybara::Node::Element>:Capybara::Node::Element

で、それで以前このようなコードの中に出てきたnative関数を使用してみた。そしたら、面白いことにこれでうまくいったというね。しかもよりいいと言うくらいのものだった。やったことは上記のコードを下記のようなものに変えただけ

map_width_px = find("#map").native.style("width")

これで僕の場合はうまくいき、さらに、便利なことにハッシュ(この場合、{"width": "400px"})ではなく、widthを直接返してくれた(この場合は、”400px”)
でも、結局上記のようなエラーが発生した理由はわからなかった。

とりあえず、このようなnative関数を使う形の運用はハッシュへのアクセスの1ステップを飛ばせるからコードを書くのを楽にしてくれるのだなと感じた。

まとめ

マネージャーと同僚たちとのランチはとてもよかった。レバノンのレストラン(もちろん初めて)に行ったのだが、何が有名なのか全くわからなかったわけなので、適当にオーダーした。初めてみんなとまともにしゃべるからであろう、会話はすごく充実していた。みんな生徒だったからってのもあったけど。そのうちの一人がトロント大学在学中の人だったことはそこで知った。この大学は僕がもともと行きたかった大学だった。いろいろとその大学で不便な部分が聞けて、結果的にUBCに来たのも悪くないなって思った(笑)。
仕事に関しては、エラー部分を取り除いてテストを始めた。そして、テストコード中に修正する部分があるなと思ったので、それの修正もした。そして、今週最後の日であり、3連休が待っているので、しっかり休んでまた火曜日に備えるぜ!


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



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


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