概要
原著者の許諾を得て翻訳・公開いたします。
- 英語記事: RSpec autorun - write test and class code in the same file
- 原文公開日: 2018/02/23
- 著者: Paweł Dąbrowsk
Rails tips: コードとテストを同じファイルに書けるRSpec autorun(翻訳)
もう皆さまもアプリではテストを書くべきであることは納得いただいているかと思います。これまでにスパイやスタブやモックなどのさまざまなスタブをご紹介しましたが、今回はもう少し一般的なお題にしたいと思います。
ほとんどの場合、コードとテストはそれぞれ別ファイルに保存するのが自然ですが、たとえば教育現場やデモなどでコードとテストを同じファイルに書く必要が生じることがあります。こんなときにはRSpecのautorun機能が役に立ちます。rspec
gemがインストール済みであれば、ファイルを1つ作成してたとえばtest.rb
という名前にし、ファイルの冒頭にrspec/autorun
を書いておけば、コードとテストをひとつのファイルに書けるようになります。
require 'rspec/autorun'
class Person
def initialize(first_name:, last_name:)
@first_name = first_name
@last_name = last_name
end
def name
[first_name, last_name].join(" ")
end
private
attr_reader :first_name, :last_name
end
describe Person do
describe "#name" do
it "returns full name" do
person = Person.new(first_name: "Tom", last_name: "Black")
expect(person.name).to eq("Tom Black")
end
end
end
後はtest.rbを実行すればテストの結果を表示できます。この種のテストは、TDDの学習中に基本的な部分を動かしてみたいときに非常に便利です。
RSpec & TDDの電子書籍を無料でダウンロード
もっと稼ぎたい方や会社をさらに発展させたい方へ: テスティングのスキルの重要性にお気づきでしょうか?テストを正しく書き始めることが、唯一のファーストステップです。無料でダウンロードいただける私の書籍『RSpec & Test Driven Developmentの無料ebook』をどうぞお役立てください。