2012-06-29 12 views
8

私は、コンポーネントアプリケーションを依存関係として含み、reltool構成を含むトップレベルのリリースディレクトリを持つRebarプロジェクトを持っています。RebarをリリースディレクトリでCommon Testを実行させるにはどうすればよいですか?

私のアプリケーションには、testサブディレクトリに共通テストスイートがあり、rebar ctでこれらのテストを実行できます。

今、リリース全体で共通テストスイートを作成したいと思います。私はrebar ct skip_deps=trueは、トップレベルのディレクトリで実行した場合しかし、私はちょうど得る:

Command 'ct' not understood or not applicable 

がどのように鉄筋が私のテストを実行することができますか?

答えて

10

鉄筋は、モジュールの三組(rebar.appを参照)があります。

  • any_dir_modules、プロジェクト内の任意のディレクトリに適用されます。
  • app_dirモジュール。src/*.app.srcまたはebin/*.apprebar_app_utils:is_app_dir/1を参照)に一致するファイルを含むディレクトリにのみ適用されます。 またはreltool.config.scriptrebar_rel_utils:is_rel_dir/1参照)を含むディレクトリにのみ適用される
  • rel_dirモジュールです。一般的なテストを実行する責任がある

rebar_ctモジュールは、app_dirカテゴリにあり、あなたのトップレベルのリリース・ディレクトリは、このように対象ではありません。

プラグインがモジュールカテゴリメカニズムをバイパスするため、rebar_ctがプラグインであることを指定することで、この問題を回避できます。

{plugins, [rebar_ct]}. 

をそして、あなたが買ってあげる::あなたのrebar.configに以下の行を入れ

$ rebar ct skip_deps=true 
==> foo (ct) 
==> bar (ct) 
==> my_rel (ct) 
DONE. 
Testing src.my_rel: TEST COMPLETE, 0 ok, 0 failed of 0 test cases 
関連する問題