9

コンポーネント アプリケーションを依存関係として含み、reltool 構成を含む最上位のリリース ディレクトリを持つ Rebar プロジェクトがあります。

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

ここで、リリース全体の共通テスト スイートを作成したいと考えています。ただし、rebar ct skip_deps=true最上位ディレクトリで実行すると、次のようになります。

Command 'ct' not understood or not applicable

Rebar にテストを実行させるにはどうすればよいですか?

4

1 に答える 1

10

Rebarには 3 つのモジュール セットがあります ( rebar.appを参照)。

  • any_dir_modules、プロジェクト内のすべてのディレクトリに適用されます。
  • app_dirsrc/*.app.srcorに一致するファイルを含むディレクトリにのみ適用されるモジュールebin/*.app(「 」を参照rebar_app_utils:is_app_dir/1)。と
  • rel_dirreltool.configorを含むディレクトリにのみ適用されるモジュールreltool.config.script(「 」を参照rebar_rel_utils:is_rel_dir/1)。

Common Testのrebar_ct実行を担当するモジュールはapp_dirカテゴリに含まれているため、最上位のリリース ディレクトリは対象外です。

rebar_ctプラグインはモジュール カテゴリ メカニズムをバイパスするため、それがプラグインであることを指定することで、これを回避できます。に次の行を追加しますrebar.config

{plugins, [rebar_ct]}.

そして、あなたは得るでしょう:

$ 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
于 2012-06-29T15:54:51.740 に答える