ページ下部の編集を確認
私の上司がサイトマップをアップしています。これは基本的にすべてのルートがリンクになっているだけで、クリックするボタンには「有効ですか?」と書かれています。または「無視」すると、有効とマークされるか、ページ上で無視されます。
彼は、手動で各リンクをクリックし、ページが 500 または 404 でないことをテストし、そうでない場合は有効とマークするように私に求めました。
これは基本的に、作業ルートのユーザー向けテストにすぎないため、私にはばかげているように思えます。
同時に、これらすべてのルーティング仕様を Rspec に書き出すこともできますが、彼は、これがフロントエンドで起こっていることを自分自身とユーザーのために何らかのドキュメントで示したいと考えているようです。
この退屈なクリックを回避する楽しい方法は、仕様を書きながらプログラミングを行うことだと考えていました。彼を喜ばせ、再利用できるアプリに実際の価値とテストを追加します。
仕様で、次のようなものを書く方法はありますか:
links = page.all('a.routing-links)
link.each do |link|
link.click
if page status != 404 || 500
Link.find(id).update_attribute("verified", true)
end
end
それを仕様に入れてみましたが、 link.click が間違ったルートにヒットすると、テストが停止します(そのルートが壊れており、これはテストであるため、これは理にかなっています.
私が望むのは、そのエラーを取得して、それを使用してモデルの属性を更新できるようにすることです。
私はこれについて完全に間違っていますか?より良いアイデアやインスピレーションはありますか?
ありがとう
編集
これはスクリプトまたはレーキ タスクに任せた方がよいという投稿者の意見に同意します。
ページに移動し、すべてのリンクを見つけ、その status_code を記録し、モデルを見つけて更新するスクリプトを作成する方法について、少し迷っています。提案やヒントはありますか?モデルとコントローラーにアクセスできるように、アプリケーション内で実行するのが理想的です。
ありがとう