人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Rubyで'test/unit'を使ったクラス毎の単体テストはどうやればいいのでしょうか。

A.rb,B.rb,C.rbにそれぞれclass A,class B,class C
があるとしたら
test_A.rb,test_B.rb,test_c.rbを作って順番にtest_A.rbから実行していくのでしょうか。
ファイルがたくさんできてしまったので、何かいい手がないでしょうか?


例えばtest_A.rbの中身はこんな感じです。
>>
require 'test/unit'
require 'A'


class A< Test::Unit::TestCase
def setup
@obj = A.new
end
def test_func1

end
end
<<

●質問者: garyo
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.new Class def require Ruby
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tmasao
●35ポイント

Rubyリファレンスマニュアル - Test::Unit

特定のディレクトリに集めておいて、

Test::Unit::AutoRunner を使ってみてはいかがでしょうか?

◎質問者からの返答

ありがとうございます。

\-+-クラスファイル

|

+--somedir 単体テスト用ファイル

とフォルダを作成しておくのでしょうか。

単体テスト用のrequire 'A'は require '../A'と書き直しが必要ですか?


2 ● nodawi
●35ポイント

テストファイルが複数ある場合、私はrequireするだけのことが多いです。

Dir.glob("test_*.rb").each do |file|
 require file
end

クラスを記述したファイルの位置については、rubyコマンドのオプション -I、またはグローバル変数($:)を使って、クラスのファイルの位置をライブラリパスへ追加することで直接 require にディレクトリを指定しなくて済みます。Rubyリファレンスマニュアル - 組み込み変数に詳細があります。

$:.unshift("..")
require "A" # 最初に ../A.rb をrequireしようとします。
◎質問者からの返答

ありがとうございます。

最初から同一フォルダーで作ったので、別なフォルダーを作って移動すると動かなくなりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ