プログラミングわかるやつ来てくれ

Pocket



:のはずし忘れとかね・・・


https://i2.wp.com/i.imgur.com/Aww0pzU.jpg?w=680テストが失敗してまうんやがなにがいけないんだろうか…


>>とりあえず、下の方の解説も読んでみるといいよ
そのソースよりちょっと下にassertとはなんぞやって書いてあるよこういう「わからなかったところが、ちょっとあとで出てくる参考書」みたいなの多いから
「わかんねぇ」ってなったときでもちょっとだけ進めてみるの大事だよ


>>
画像の右下にあるのがコマンドラインでテストの結果が出てる


ぷぷぷ
セミコロンがないンゴよぉ…www





>>
どこにセミコロンが必要なん?


テストが通らないなら、テストされてる方のコードがダメなんだろ


書式知らんからわからんけど
:と2の間にスペース足りなくね


うん、見たけどたぶんテストはおかしくない
どこのassertで落ちてるの?


>>
rubyはスペース関係ない
見やすさだけ
>>
ほんと初心者だからわからないっす…


すまん右下に書いてあったな
ルートパスのHTMLに、リンクが2つないから落ちてるんじゃないか?


>>間違えた

Expected exactly 2 elements matching “a[href=”/”]”, found 0..
ってエラーが出てきただろ?

これは
assert_select なんちゃら
って書いたら「なんちゃらっていうのがそのページにあってほしい!」
っていう文をお前が書いたから起こってる

assert_select “a[href=?]”, root_path, count:2
は、たぶんだけど、
「ルートパスへのリンクが2個あってほしい!」っていう意味

だからテストを走らせたときに
<a href=”/”></a>が2つあってほしいのに
無いじゃん!げきおこ!

って感じで怒ってるわけ


>>
だから元のところに2個リンクを用意しないといけないってこと??


>>
そうそう「テストを書く」っていうのは
「自分の思った通りうごいているかな〜?」っていう確認を何回もするのめんどくさいじゃん?
それを自動化したものが「テストコード」なの
コードを修正した時でもテストコードを走らせれば、確認する手間が省けて楽だから書くで、このレイアウトのテストコードは、「ちゃんと自分が思った通りにリンクが表示されてるかな〜?」ってことで
「ちゃんと2個リンクあるかな?」っていう確認のために書いてるの

でもこれ、もとのソースにそういうの書いてないし、ちょっとチュートリアルとしては不親切かもね
俺は「テストとはなんぞや」ってわかってるから気にならないけど


ふぅん
Railsのテスト環境はhtmlもパースしてくれるんだなぁ
RubyはGithubのAPI叩いたときぐらいしか使ったことないからあんまりわからないけど


原因がなんとなくわかったけど解決の仕方がわからんっす、先生


<header class=”navbar navbar-fixed-top navbar-inverse”>
<div class=”container”>
<%= link_to “sample app”, root_path, id: “logo” %>
<nav>
<ul class=”nav navbar-nav navbar-right”>
<li><%= link_to “Home”, root_path %></li>
<li><%= link_to “Help”, help_path %></li>
<li><%= link_to “Log in”, ‘#’ %></li>
</ul>
</nav>
</div>
</header>これちゃんと書いた?


こういうファイル
_header.html.erb


>>
https://i0.wp.com/i.imgur.com/i6YZiY6.jpg?w=680
これだよね?
俺も元のやつって言われたからこれ確認してたけど何が間違ってるのか…


特に
<%= link_to “sample app”, root_path, id: “logo” %>

<li><%= link_to “Home”, root_path %></li>HTML一緒やんと思って飛ばしたりとかしてない?


拡張子がhtmlになってるからかな
html.erb
にしてみたら?


あとはテストじゃなくて、サーバ立ち上げて実際アクセスしたらもっとわかるかも


ちゃんとhtml.erbになっとる…


サーバ立ち上げてアクセスしたらソースはどうなってる?


ん?


あ、いや
おまえ!
‘root_path’って書いてるじゃねーか
そこは変数名のroot_pathだぞ


help_pathもだ


あ、そこか!


それはeRubyとかいうテンプレートエンジンを使うところだから
コンテキストのroot_pathの値をもとにテンプレートとして使うというやつだなお今後オワコンになっていく技術なもよう


34:2016/01/24(日) 02:38:14.046 ID:

治しても解決しない件…


なんか根本から大丈夫なのかそれ
サーバ立ち上げて見てそもそもアクセスできるのか?


サイトはちゃんと見れてるぞ


app/views/layouts/application.html.erb
<!DOCTYPE html>
<html>
<head>
<title><%= full_title(yield(:title)) %></title>
<%= stylesheet_link_tag ‘application’, media: ‘all’,
‘data-turbolinks-track’ => true %>
<%= javascript_include_tag ‘application’, ‘data-turbolinks-track’ => true %>
<%= csrf_meta_tags %>
<%= render ‘layouts/shim’ %>
</head>
<body>
<%= render ‘layouts/header’ %>
<div class=”container”>
<%= yield %>
</div>
</body>
</html>これで、renderって書いてあるか?
<%= render ‘layouts/header’ %>
この部分


サイトのソースがどうなっているか確認したほうがいいぞ


そもそもHomeとかが表示されているかどうかがわからないから、どこを直せばいいかわからない


//facebook//