Rspec-introduction
RSpec-はじめに
RSpecは、Rubyプログラミング言語の単体テストフレームワークです。 RSpecはビヘイビア駆動型の開発ツールであるため、RSpecはJUnitのような従来のxUnitフレームワークとは異なります。 つまり、RSpecで記述されたテストは、テスト対象のアプリケーションの「動作」に焦点を当てています。 RSpecは、アプリケーションの動作方法ではなく、その動作、つまりアプリケーションの実際の動作に重点を置きません。
RSpec環境
まず、コンピューターにRubyをインストールする必要があります。 ただし、まだ以前に行っていない場合は、RubyのメインWebサイト(https://www.ruby-lang.org/en/documentation/installation[Ruby])からRubyをダウンロードしてインストールできます。
WindowsにRubyをインストールする場合は、WindowsのRubyインストーラーがhttp://rubyinstaller.org/[http://www.rubyinstaller.org]にあります。
このチュートリアルでは、メモ帳やコマンドラインコンソールなどのテキストエディターのみが必要です。 この例では、Windowsでcmd.exeを使用します。
cmd.exeを実行するには、[スタート]メニューをクリックして「cmd.exe」と入力し、Returnキーを押します。
cmd.exeウィンドウのコマンドプロンプトで、次のコマンドを入力して、使用しているRubyのバージョンを確認します-
ruby -v
これに似た以下の出力が表示されるはずです-
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
このチュートリアルの例では、Ruby 2.2.3を使用しますが、2.0.0以降のRubyのバージョンであれば十分です。 次に、Rubyインストール用にRSpec gemをインストールする必要があります。 gemは、独自のコードで使用できるRubyライブラリです。 gemをインストールするには、 gem コマンドを使用する必要があります。
ここで、Rspec gemをインストールしましょう。 cmd.exeウィンドウに戻り、次を入力します-
gem install rspec
インストールされた依存gemのリストが必要です。これらは、rspec gemが正しく機能するために必要なgemです。 出力の最後に、次のようなものが表示されるはずです-
Done installing documentation for diff-lcs, rspec-support, rspec-mocks,
rspec-expectations, rspec-core, rspec after 22 seconds
6 gems installed
出力がまったく同じに見えなくても心配しないでください。 また、MacまたはLinuxコンピューターを使用している場合は、 sudo を使用して gem install rspec コマンドを実行するか、HomeBrewやRVMなどのツールを使用してrspec gemをインストールする必要があります。
Hello World
はじめに、RSpecファイルを保存するディレクトリ(フォルダー)を作成しましょう。 あなたのcmd.exeウィンドウで、次を入力します-
cd \
次に、タイプ-
mkdir rspec_tutorial
そして最後に、タイプ-
cd rspec_tutorial
ここから、specという名前の別のディレクトリを作成し、次のように入力します-
mkdir spec
RSpecファイルをこのフォルダーに保存します。 RSpecファイルは「スペック」と呼ばれます。 これがわかりにくい場合は、スペックファイルをテストファイルと考えることができます。 RSpecでは、「仕様」の短縮形である「仕様」という用語を使用します。
RSpecはBDDテストツールであるため、目標はアプリケーションの動作と、仕様に準拠しているかどうかに焦点を当てることです。 行動駆動開発では、仕様は「ユーザーストーリー」の観点から説明されることがよくあります。 RSpecは、ターゲットコードが正しく動作しているかどうか、つまり仕様に従っているかどうかを明確にするように設計されています。
Hello Worldコードに戻りましょう。 テキストエディタを開き、次のコードを追加します-
class HelloWorld
def say_hello
"Hello World!"
end
end
describe HelloWorld do
context “When testing the HelloWorld class” do
it "should say 'Hello World' when we call the say_hello method" do
hw = HelloWorld.new
message = hw.say_hello
expect(message).to eq "Hello World!"
end
end
end
次に、これを上記で作成したspecフォルダーのhello_world_spec.rbという名前のファイルに保存します。 さて、cmd.exeウィンドウに戻って、このコマンドを実行します-
rspec spec spec\hello_world_spec.rb
コマンドが完了すると、次のような出力が表示されます-
Finished in 0.002 seconds (files took 0.11101 seconds to load)
1 example, 0 failures
おめでとう、最初のRSpec単体テストを作成して実行しただけです!
次のセクションでは、引き続きRSpecファイルの構文について説明します。