RSpecテストの解剖学
Ruby on Railsを使用してアプリケーションを構築する場合は、rspecテストに遭遇したかもしれません.rspecはRubyプログラムをテストするためのテストツールです.開発者がソフトウェアをテストするのを助けるので、それは振舞い駆動開発に続きます.
rspecはいくつかのキーワードを使用します.最も重要なのは、
記述
のトップレベルで使用されるはクラス名かストリング を受け入れます
It特定の例 を参照する一般的な単語
期待する
結果を定義するために使用されるは、EQまたはNOQへのEQ、またはNOTCUMから に結合することができる
主題オブジェクトは でテストされています
RSpecテストを書く練習をするために、Railsプロジェクトを作成するつもりです.この単純なプロジェクトは、ユーザーがフォームに自分の名前を入力することを検証します.
テストを実行するには、トップレベルのディレクトリに移動して実行するには
ここでテスト全体です.
もちろん、テストのポイントは、ユーザーの行動やソフトウェアの動作を計画することです.開始時に失敗することを確認するテストを構築することにより、我々はより堅牢なコードを作成し、うまくいけばユーザーの相互作用を計画することができます.
rspecはいくつかのキーワードを使用します.最も重要なのは、
記述
のトップレベルで使用される
It
期待する
結果を定義するために使用される
主題
RSpecテストを書く練習をするために、Railsプロジェクトを作成するつもりです.この単純なプロジェクトは、ユーザーがフォームに自分の名前を入力することを検証します.
$ rails new test-names
RSpec宝石を宝石ファイルに加えてください.gem 'rspec-rails'
アプリケーションでは、specフォルダーを作成します.$ mkdir spec
Specでは、モデルフォルダを作成します.$ mkdir models
「モデル」フォルダ内で、ユーザーのspecファイルを作成します.$ touch user_spec.rb
最後に、このファイルはテストファイルです.RSpec.describe User, type: :model do
[...]
end
ここでは、ユーザークラスのrspecテストを宣言します.subject {
described_class.new(first_name: "John",
last_name: "Doe")
}
サブジェクトはオブジェクト(この場合、最初と最後の名前を持つユーザー)のために立ちます.it "is valid with a first name" do
expect(subject).to be_valid
end
it "is valid with a last name" do
expect(subject).to be_valid
end
最後に、テストケースの2つを作成します.テストは、itキーワードを使用し、テストの説明が続きます.次に、Expeptionメソッドを使用して、対象に渡される検証を行います.テストを実行するには、トップレベルのディレクトリに移動して実行するには
bundle exec rspec
端末で.ここでテスト全体です.
RSpec.describe User, type: :model do
subject {
described_class.new(first_name: "John",
last_name: "Doe")
}
it "is valid with a first name" do
expect(subject).to be_valid
end
it "is valid with a last name" do
expect(subject).to be_valid
end
end
テストは実行され、例、失敗、および保留中のテストの数を表示します.もちろん、テストのポイントは、ユーザーの行動やソフトウェアの動作を計画することです.開始時に失敗することを確認するテストを構築することにより、我々はより堅牢なコードを作成し、うまくいけばユーザーの相互作用を計画することができます.
Reference
この問題について(RSpecテストの解剖学), 我々は、より多くの情報をここで見つけました https://dev.to/kahawaiikailana/anatomy-of-an-rspec-test-4165テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol