Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Unit Test

概要

Unit Test

詳細

RubyでUnit Testを扱う方法について。
Ruby1.8系ではTest::Unitが標準でしたが、
Ruby1.9系ではMiniTest::Unitが標準になりました。

サンプルコード

テスト対象コード:hoge.rb
hxgeを返却する。
xは引数で指定したvowelが入る。
また、vowelは1文字の母音のみ受け渡し可能。
不正な引数が渡された場合はArgumentErrorが発生する。

class Hoge
  def print_hoge(vowel)
    raise ArgumentError, "Invalid Argument #{vowel}" unless vowel =~ /[aiueo]{1}/
    "h#{vowel}ge"
  end
end

テストコード

require_relative './hoge'
require 'test/unit'

class TestHoge < Test::Unit::TestCase
  def test_print_hoge
    hoge = Hoge.new
    assert("hage", hoge.print_hoge("a"))
    assert("hige", hoge.print_hoge("i"))
    assert("hoge", hoge.print_hoge("o"))
    assert_raise(ArgumentError) {
      hoge.print_hoge("t")
    }
  end
end