2013年3月5日火曜日

ruby で minitest




ruby で minitest

プログラミングRuby 1.9 -言語編- p165によると、Test::Unitを置き換える軽量テストフレームワークがMiniTest::Unitとのこと。

環境

$ ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux]



かんたんなサンプル - 1


require "minitest/unit"

MiniTest::Unit.autorun

class Testsimple < MiniTest::Unit::TestCase

    def test_equal
        assert_equal(3, 3)
    end

    def test_assert
        assert(4 == 4)
    end

    def test_same
        assert_same(5, 5)
    end

end


実行結果
$ ruby simpleTest.rb 
Run options: --seed 51570

# Running tests:

...

Finished tests in 0.001564s, 1918.3033 tests/s, 1918.3033 assertions/s.

3 tests, 3 assertions, 0 failures, 0 errors, 0 skips

かんたんなサンプル - 2


cat.rb
$ cat cat.rb

class Cat
    def say
        "myau"
    end

    def growl
        "gruru"
    end
end

catTest.rb
require 'minitest/unit'
require './cat'require "minitest/unit"
require "./cat"

MiniTest::Unit.autorun

class TestCat < MiniTest::Unit::TestCase
    def setup
        # catクラスのインスタンス@mikeを作る
        @mike = Cat.new
    end

    def test_say
        #@mike.sayが"myau"と返せばテスト成功
        assert_equal("myau", @mike.say)
    end
end

実行結果
$ ruby catTest.rb 
Run options: --seed 40349

# Running tests:

.

Finished tests in 0.002871s, 348.3698 tests/s, 348.3698 assertions/s.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

参考


minitest/unitライブラリ
http://doc.ruby-lang.org/ja/1.9.3/library/minitest=2funit.html

MiniTest::Assertionsモジュール
http://doc.ruby-lang.org/ja/1.9.3/class/MiniTest=3a=3aAssertions.html


プログラミングRuby 1.9 -言語編-: Dave Thomas with Chad Fowler and Andy Hun, まつもとゆきひろ, 田和 勝


0 コメント: