Ruby(非Rails)でさらっとRspecを使い始めるための手順
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る
を読んでいたら、Minitestでテストを書く箇所が出てくる。
よし、ここでさらっとRSpec使ってやろうと決意するも、
非Rails環境でRSpec導入したことがなかったので、
ちょっと迷いつつもやってみた。
備忘録として手順を残す。
準備
ひとまずテスト対象のファイルを用意する。
例えば
./lib/test.rb
中身はこんな感じ。 受け取ったものを表示するだけの適当メソッド
class Test def self.test(param) param end end
bundle で RSpecをInstall
bundle init
でGemfileを作成。
Gemfile内で、gem "rspec"
などと記載しつつ、
bundle
コマンドを実行
rspec --init
rspec --init
コマンドを実行して、必要なファイルを生成
$ rspec --init create .rspec create spec/spec_helper.rb
specファイルを作成
./spec下にspecファイルを作成する
テスト対象をrequireしておくことに注意
require 'spec_helper' require './lib/convert_hash_syntax' describe Test do it { expect(Test.test('params')).to eq "params" } end
テストを実行
rspecコマンドでテストを実行
$ rspec . Finished in 0.00243 seconds (files took 0.09276 seconds to load) 1 example, 0 failures
とりあえずRSpecでテスト成功!!!
疑問点
RSpec利用する際は、テスト対象がclassの形にしていないとうまく行かなかった。
"プロを目指す人のためのruby入門"の記載上は、
Minitestだと、メソッドだけ記載した.rbファイルでも、
テスト対象にできてるっぽい。
RSpecで同じことをやるためにはどうすればいいのか。。。?
まぁあまり重要ではないので、保留する。