Ich habe ein Rebar-Projekt mit einem Top-Level-Release-Verzeichnis, das nur die Komponentenanwendungen als Abhängigkeiten enthält und die Reltool-Konfiguration enthält.
Einige meiner Anwendungen haben gemeinsame Testsuiten in test
-Unterverzeichnissen, und ich kann diese Tests mit rebar ct
ausführen.
Jetzt möchte ich eine gemeinsame Testsuite für das gesamte Release erstellen. Wenn ich jedoch rebar ct skip_deps=true
im obersten Verzeichnis ausführen lasse, bekomme ich nur:
Wie kann ich Rebar meine Tests durchführen lassen?
Rebar hat drei Sätze von Modulen (siehe rebar.app ):
any_dir_modules
, die für jedes Verzeichnis in Ihrem Projekt gelten; app_dir
Module, die nur für Verzeichnisse gelten, die Dateien enthalten, die mit src/*.app.src
oder ebin/*.app
übereinstimmen (siehe rebar_app_utils:is_app_dir/1
); und rel_dir
modules, die nur für Verzeichnisse gelten, die reltool.config
oder reltool.config.script
enthalten (siehe rebar_rel_utils:is_rel_dir/1
). Das Modul rebar_ct
, das für die Ausführung von Common Test zuständig ist, befindet sich in der Kategorie app_dir
. Daher ist Ihr Top-Level-Release-Verzeichnis nicht berechtigt.
Sie können dies umgehen, indem Sie angeben, dass rebar_ct
ein Plugin ist, da Plugins den Mechanismus der Modulkategorie umgehen. Schreibe die folgende Zeile in dein rebar.config
:
Und Sie werden bekommen:
%Vor%Tags und Links erlang rebar common-test