web-dev-qa-db-ja.com

irbを実行するbashスクリプトを作成してから、Rubyコードを作成するにはどうすればよいですか?

私はこれを実行して、ユニットテストを自分で簡単に行えるようにしようとしています。

問題のサンプルスクリプトの内容は次のとおりです。

irb
require 'random_utils.rb'
a = SuccessChecker.new

今、これはirbを開くだけです。後で任意のコードを実行できるようにしたいので、ファイルを要求したり、クラスをインスタンス化したり、テスト条件を設定したりすることで、スクリプトを作成して作業を楽にすることができます。

2
ac7v

コマンドを順番に実行しているため、シェルはirbを実行し、irbが閉じられるまで待機して、次のコマンド(この場合はrequire 'random_utils.rb')…

必要なのは、スクリプトをirb経由でSTDINに提供することです。

irb <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF

ただし、irbはインタラクティブに使用するため、これではおそらく期待どおりの結果が得られません。代わりに、通常のRubyインタープリターを使用することを検討してください。

Ruby <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF
2
Ulrich Dangel

これに対する最新の解決策は、pry gemを使用して、これを単純な古いRubyスクリプトにすることです。

#!/usr/bin/env Ruby

require 'pry'
require 'random_utils.rb'
a = SuccessChecker.new
binding.pry

binding.pryがどこにあってもデバッガーにダンプします...

0
Stephen

次のステップに進み、単体テストライブラリを使用する準備ができているようです。

ここに紹介があります から ミニテスト 、組み込みRuby 1.9。

0
Cawflands