1
0

ユーザー操作をテストする【Ruby】

Posted at

はじめに

昨日に引き続き、Rspecの記事です!

rspec入門で知っておけばよさそうなこと #RSpec - Qiita

今回はユーザー操作を再現するテストについて。

capybara

ユーザー操作を再現するDSL のようです。
Rspecと組み合わせて使われることが多いですが、別のgemのようです。

DSLとは、プログラミング言語の中でも、特定の機能に特化したものですね。
他に、SQLやHTMLなどがDSLに分類されるはずです。

「ユーザー操作を再現する」とは?

例えば、click_on 'ログイン'で、「ログイン」というテキストのボタンをクリックできるようです。

CSSのクラスで指定することも可能(find('.my-class').clickなど)

スペックの種類

(記事としてはあまりにも短かったので)
スペックの種類をChatGPTに書いてもらいました。

スペックの種類 説明
モデルスペック データモデルの振る舞いをテストします。バリデーション、アソシエーション、カスタムメソッドなどのテストが含まれます。
コントローラスペック コントローラのアクションが期待通りに動作するかをテストします。リクエストを送信し、レスポンスを検証することに焦点を当てます。
ビュースペック ビューテンプレートが正しくレンダリングされるかをテストします。特定の要素が含まれているか、特定のレイアウトが適用されているかなどを検証します。
ヘルパースペック ビューで使用されるヘルパーメソッドのテストです。メソッドが期待通りの出力を返すかどうかを検証します。
ルーティングスペック アプリケーションのルーティングが正しく設定されているかをテストします。特定のURLが期待通りのコントローラとアクションにルーティングされるかを検証します。
メールスペック アプリケーションから送信されるメールのテストです。メールが送信されるトリガー、メールの内容、送信先などを検証します。
リクエストスペック エンドツーエンドでアプリケーションのAPIをテストします。コントローラスペックよりも広範なテストで、複数のコントローラやモデルを跨いだ処理を検証します。
システムスペック エンドツーエンドのブラウザベースのテストで、ユーザーインターフェース全体を通じてアプリケーションが正しく機能するかを検証します。Capabaraを使用して実行されます。
フィーチャースペック システムスペックに近いですが、Capabaraを使用してユーザーの視点からアプリケーションの特定の機能をテストします。RSpec 3.7以前ではよく使用されていました。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0