テストを理解する

テストとは

こんにちは。今日はアプリ開発における「テスト」について学んでいこうと思います。

 

テストとは:プログラミングにおいて「正常に機能しているか?」を確認することです。

基本的にテストは2種類に分けることができて、

 

1つは単体テストと呼ばれるような、プログラムを構成する小さな単位の機能が正しく機能しているかを調べるテストと

 

もう1つは「統合テスト」と呼ばれるような、複数の単位の機能が連動して1つのプログラム全体が正しく機能できているかを調べるテスト

 

の2種類です。

 

私はなんとなく細かいところは単体テスト、プログラム全体は統合テストと覚えておくことにしました!!

なんのために学ぶのか

なんのために学ぶって、ちゃんと機能してるか確かめることは大事なことでしょう〜って思いますよね。

 

まあ当たり前のことなんですけど、

 

ただちゃんと機能するかを確かめるときも単体テストと統合テストで分けることによって単体テストの段階で不具合を発見できて、結果的に開発全体のエラー修正の際のコスト削減が実現できるなどのメリットは多いみたいです。

 

これからチームで開発していく上では必ず必要な知識ですね。

ということで、今日はテストについて学んでいきます。

 

実際のテスト方法

テストを行う前の下準備

テストを行う前に2つのgemをインストールしました。

RSpec」と「Factory_girl」です。それぞれ説明していきます。

 

Rspecの導入

Ruby on Railsにおいてテストは基本的にモデルとコントローラーのファイルにおいて行うみたいです。

 

その際に RSpecという独自の言語を利用してテストコードを書いていきます。

RSpecの導入方法は「rspec-rails」というgemをインストールすると利用できるようになるみたいです。

 

実際にやってみます。

まずgemgfileに追加記述をします。

 

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
  gem 'spring', '1.3.6'
  gem 'pry-rails'
  gem 'compass-rails','~> 2.0'
  gem 'sprockets', '2.11.0'
  gem 'kaminari'
  gem 'devise'
  gem 'rspec-rails'
end

 

かけたら、ターミナルでbundle installします。

f:id:lilybelly:20181008125649p:plain

f:id:lilybelly:20181008125739p:plain

このように表示されたらインストール成功です(gemfile.lockに反映されてるかでも確認できます)

RSpecの設定をする

次にRSpecの基本設定をしました。

まず、設定ファイルを作成する必要があります。

 

[Rsoec設定ファイル作成方法]

$ rails g rspec:install #RSpec用設定ファイルの作成

ターミナルで上記のコマンドを打つと、ファイルが作成されます。

 

作成されたファイルのなかの[.rspec]というファイルに

--format documentation

を記述します。

これは何をしてるかというと、

Rspecの記述フォーマットを設定しています。

フォーマットは以下の4種類の中から指定できるみたいなので色々と調べてみてください。

 

  • progress (もしくはp)
  • documentation (もしくはd)
  • html (もしくはh)
  • json (もしくはj)

参考文献載せておきます

samurai.ataglance.jp

Rspecが正常に起動しているか確認

確認方法はターミナルに

$ bundle exec rspec

と打ち込むと、

No examples found.


Finished in 0.00031 seconds (files took 0.19956 seconds to load)
0 examples, 0 failures

こんな風に出てくればオッケーみたいです。

 

factory_girlをインストールする

factoru_girlはあらかじめテストするダミーのインスタンス変数を定義しておくことで、

テストコードのなかにそれぞれインスタンス変数を定義することを省略化できるものです。

 

ちょっとよくわからないと思うんですけど、Qiita でわかりやすい記事があったのでこれをみてもらえるといいと思います。

qiita.com

 

ここにgemのインストール方法が書いてあるので、factory_girlのインストール方法については割愛させていただきます。

 

 

長くなりそうなので、、

次の記事に続きを書きたいと思います!