2016-11-08 15 views
-1

:「!こんにちは世界」私はapp.rbを実行した場合、私は古典を得るこんにちは、以下のディレクトリ構造を考えると、世界minitest CLIの例

➜ ~/D/w/t/foo tree . 
. 
├── app.rb 
├── foo.rb 
└── test 
    └── test_foo.rb 

1 directory, 3 files 

応答。

app.rbfoo.rb内部の外観を撮影
➜ ~/D/w/t/foo ruby app.rb 
"Hello world!" 

➜ ~/D/w/t/foo cat app.rb 
require_relative 'foo.rb' 

Foo.new.bar 

➜ ~/D/w/t/foo cat foo.rb 
class Foo 
    def bar 
    p "Hello world!" 
    end 
end 

は、どのように私は、私はコマンドラインからminitestと私のFooクラスをテストするでしょうでしょうか?

私はそれがruby -Ilibコマンドと関係があることを知っていますが、私は正確なスイッチとフラグが何であるか分かりませんし、test_foo.rbの中に何を入れるのかもわかりません。私のディレクトリ構造が正しく設定されているかどうかもわかりません。たぶんfoo.rblibディレクトリに入る必要がありますか?

あなたのご指導が大好きです:)

答えて

0

ルビファイルと同じように、minitestテストを実行できます。ただ、minitestをインストールするテストを書き、あなたのように実行しますRubyスクリプト:

インストールminitest:

➜ ~/D/w/t/hello-minitest gem install minitest 
Successfully installed minitest-5.9.1 
Parsing documentation for minitest-5.9.1 
Done installing documentation for minitest after 0 seconds 
1 gem installed 
➜ ~/D/w/t/hello-minitest tree . 
. 
├── app.rb 
├── foo.rb 
└── test 
    └── test_foo.rb 

書き込みfoo.rb:

class Foo 
    def bar 
    p "Hello world!" 
    end 
end 

書き込みテスト:

require 'minitest/autorun' 
require_relative '../foo.rb' 

class TestFoo < Minitest::Test 
    def test_it_works 
    assert_equal 1, 1 
    end 

    def test_bar 
    assert_equal Foo.new.bar, "Hello world!" 
    end 
end 

ルビースクリプトのようなテストを実行します。

➜ ~/D/w/t/hello-minitest ruby test/test_foo.rb 
Run options: --seed 56777 

# Running: 

"Hello world!" 
.. 

Finished in 0.001085s, 1843.3179 runs/s, 1843.3179 assertions/s. 

2 runs, 2 assertions, 0 failures, 0 errors, 0 skips 
関連する問題