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

RSpecを使った四則演算の構文

Posted at

#はじめに
RubyやRailsでポートフォリオを作成していく上で、避けては通れないテスト実装。
Railsの標準装備はMinitestですが、実際の現場で使うことを考えて、RSpecを採用される方が多いと思います。

そこで、
「RSpecとはどういうものなのか?」
ということを、基本的な四則演算の構文を見ながら解説していきます。

#対象
これからRSpecを学ぼうと思っている人

#環境
Ruby 2.6
RSpec 3.9

#RSpecの構文例

describeは、国語でいうところの『章』のような意味合いです。
「この章では、いったいどんなテストコードが書かれているのか?」ということを表しています。

it A doで、「Aという結果をもたらすテストコードである」という意味を表します。

expect X.to eq Yで、「X = Y」という意味を持ったテストコードになります。
eqはマッチャと呼ばれ、「=」にあたる意味を持っています。

例を見ていきましょう。

Rspec.describe '四則演算' do

 describe '足し算' do
  it '1 + 1 は 2 である' do
  expect(1 + 1).to eq 2
  end
 end

 describe '引き算' do
  it '2 - 1 は 1 である' do
  expect(2 - 1).to eq 1
  end
 end

 describe '掛け算' do
  it ' 2 × 3 は 6 である' do
  expect(2 * 3) to eq 6
  end
 end

 describe '割り算' do
  it '6 ÷ 2 は 3 である' do
  expect(6 / 2) to eq 3
  end
 end

end

逆に間違っていることを期待する場合には、not toを使います。

Rspec.describe '四則演算' do

 describe '足し算' do
  it '1 + 1 は 3 ではない' do
  expect(1 + 1).not_to eq 3
  end
 end

 describe '引き算' do
  it '2 - 1 は 0 ではない' do
  expect(2 - 1).not_to eq 0
  end
 end

 describe '掛け算' do
  it ' 2 × 3 は 8 ではない' do
  expect(2 * 3).not_to eq 8
  end
 end

 describe '割り算' do
  it '6 ÷ 2 は 2 ではない' do
  expect(6 / 2).not_to eq 3
  end
 end

end

#おわりに
RSpecは、独自の構文のため、中々とっつきづらいかと思われます。
まずは分かりやすい構文から理解し、RSpecに慣れていきましょう。

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