3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

テスティングフレームワークは何を使うと良いか【Rails】

Last updated at Posted at 2020-10-06

はじめに

テストやら、細かいセキュリティ的な部分の実装はまだ課題として残したまま、とりあえず先日AWSでアプリケーションを公開しました。

というわけで無事公開したのだが、やはりテストを実装しないといけないので、テストについて調べてみました。

調べた結果RSpecをまず学習したほうが効率が良いという結論に至りました。

調べた内容は下記に列挙します。

  • テストとは何か
  • Railsで実装されるテスティングフレームワークとは何か
  • ネット上で見つけたテスティングフレームワーク3種類の簡単な概要
  • 多く使われているテスティングフレームワークとは何か

テストとは

アプリケーションを本番環境のサーバーで動作させるためには、そのアプリケーションのコードが仕様通りに欠陥(バグ)なく動作している必要があります。

テストとは、そのアプリケーションのコードが仕様通りに動作していることを確認し、バグを見つけ出ことです。

バグを見つけ出すことで、そのバグを修正(デバッグ)します。

参考:https://ja.wikipedia.org/wiki/ソフトウェアテスト

テスティングフレームワーク

テストは、テスティングフレームワークというもので実行されます。

Railsのアプリケーションで使用するテスティングフレームワークは様々あります。

下記にいくつかのテスティングフレームワークを概要・特徴とともに列挙していきます。

  • Minitest
  • RSpec
  • test-unit

Minitestの概要

MinitestとはRubyに標準で備わっているテスティングフレームワークです。

標準で備わっているため、gemを追加する必要もなく、テストを行うことができます。

Railsガイド(英語版)にドキュメントが掲載されています。

参考:https://railsguides.jp/testing.html

RSpecの概要

RSpecとは、Ruby向けBehaviour-Driven Developmentツールのテスティングフレームワークです。

rspec-railsにドキュメントが掲載されています。

参考:https://relishapp.com/rspec

test-unitの概要

test-unitとは、Ruby用のxUnit系の単体テストフレームワークです。

Ruby用単体テストフレームワークにドキュメントが掲載されています。

参考:https://test-unit.github.io/ja/index.html

多く使われているテスティングフレームワークは何か

3つ見つけ出したが、エンジニアにとっては、ネット上にある知見の量や、デファクトスタンダードは何かを踏まえた上で何を使用するのがふさわしいのかを見極める必要があります。
と、いうことで、どれが一番使用されているか下記の条件で調べてみました。

  • Qiitaは、「Minitest tag:rails」という形式で検索した記事の件数
  • GitHubは、言語をRubyにし、検索したリポジトリの件数
  • 執筆(2020年10月6日)時点の結果です。
テスティングフレームワーク Qiita GitHub
Minitest 366 955
RSpec 2151 11306
test-unit 428 921

上記の表が絶対というわけではないのですが、RSpecが一番利用されているようです。

確かにRSpecという単語はよく目にしますので、納得はしました。

まだ良く理解できていない点

テスティングフレームワークのそれぞれの違いや、特徴など、BDD、xUnit系とは何かなど、まだ明確になっていませんが、今回はこの細かい部分の深堀りや辞めておきます。

テスティングフレームワークはRSpecが一番利用されているようなので、まずそちらを実際に使って、どのようなものか知見を蓄積してみようと思います。

全部実際に使って比較しても効率悪いし。

まとめ

ということで、まずはRSpecの学習を進めてみる、という結論に至ったお話でした。

3
0
2

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?