2012-06-29 27 views
8

Tôi có một dự án Rebar với một thư mục phát hành cấp cao nhất chỉ bao gồm các ứng dụng thành phần như các phụ thuộc và chứa cấu hình reltool.Tôi làm cách nào để Rebar chạy Kiểm tra Chung trong thư mục phát hành?

Một số ứng dụng của tôi có bộ thử nghiệm chung trong test thư mục con và tôi có thể chạy các thử nghiệm đó với rebar ct.

Bây giờ tôi muốn tạo một bộ thử nghiệm chung cho toàn bộ bản phát hành. Tuy nhiên, khi tôi chạy rebar ct skip_deps=true trong thư mục cấp cao nhất, tôi chỉ nhận được:

Command 'ct' not understood or not applicable 

Làm thế nào tôi có thể làm cho Rebar chạy thử nghiệm của tôi?

Trả lời

10

Rebar có ba bộ module (xem rebar.app):

  • any_dir_modules, áp dụng cho bất kỳ thư mục trong dự án của bạn;
  • app_dir mô-đun chỉ áp dụng cho các thư mục chứa tệp phù hợp với src/*.app.src hoặc ebin/*.app (xem rebar_app_utils:is_app_dir/1); và
  • rel_dir mô-đun chỉ áp dụng cho các thư mục có chứa reltool.config hoặc reltool.config.script (xem rebar_rel_utils:is_rel_dir/1).

Mô-đun rebar_ct, chịu trách nhiệm chạy Kiểm tra chung, nằm trong danh mục app_dir và do đó thư mục bản phát hành cấp cao nhất của bạn không đủ điều kiện.

Bạn có thể giải quyết vấn đề này bằng cách chỉ định rằng rebar_ct là một plugin, vì plugin bỏ qua cơ chế danh mục mô-đun. Đặt dòng sau trong rebar.config của bạn:

{plugins, [rebar_ct]}. 

Và bạn sẽ nhận được:

$ 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 
Các vấn đề liên quan