2011-11-25 32 views
8

Khi sử dụng Jasmine Rubygem, tôi thấy cực kỳ khó chịu rằng tôi phải tuân theo cấu trúc thư mục được tạo có thư mục con javascripts trong thư mục spec. Tôi thấy nó vô dụng vì tôi viết hoàn toàn bằng Javascript.Làm cách nào để tùy chỉnh cấu trúc thư mục của Jasmine?

Tôi thấy tôi có thể thay đổi điều này trong thư mục public bằng cách thay đổi số jasmine.yml được tạo, tuy nhiên, đây không phải là những gì tôi muốn vì tôi vẫn phải giữ thư mục javascripts với tôi.

Có cách nào tùy chỉnh cấu trúc thư mục này không?

Trả lời

5

Đây là cách tôi đã làm điều này với hoa nhài ngọc 1.0.2.1:

1) Tùy chỉnh file jasmine_config.rb để ghi đè lên các phương pháp simple_config_file để trỏ đến đường dẫn file yml đúng. Tệp này ban đầu được tạo tại spec/javascripts/support/jasmine_config.rb. Như đã thấy trên nguồn github (https://github.com/pivotal/jasmine-gem/blob/v1.0.2.1/lib/jasmine/config.rb), phương pháp này được mã hóa cứng để sử dụng:

def simple_config_file 
    File.join(project_root, 'spec/javascripts/support/jasmine.yml') 
end 

tôi muốn đổi tên thư mục 'đặc tả' của tôi để 'thử' để phía trên cùng của tập tin jasmine_config.rb của tôi trông như thế này:

module Jasmine 
    class Config 
    def simple_config_file 
     File.join(project_root, 'test/javascripts/support/jasmine.yml') 
    end 
    end 
end 

2) lực lượng cào để nạp tập tin cấu hình. Tôi đã làm điều này bằng cách thêm dòng:

require 'test/javascripts/support/jasmine_config.rb' 

ngay sau khi yêu cầu hoa nhài trong Rakefile của tôi.

3) Cập nhật jasmine.yml (cũng trong thư mục hỗ trợ) để chỉ ra nơi tệp thử nghiệm javascript của bạn hoạt động. Tệp yml của tôi hiện kết thúc bằng cách này:

# EXAMPLE: 
# 
# spec_dir: spec/javascripts 
# 
spec_dir: test/javascripts 

Tất nhiên, bạn cần điều chỉnh đường dẫn "thử nghiệm" đó là những gì bạn muốn.

Tôi nghĩ rằng cách tiếp cận này nên làm việc với phiên bản mới nhất của đá quý, nhưng cách tiếp cận này sẽ phá vỡ trong tương lai nếu họ thay đổi giao diện của lớp Config đó.

Các vấn đề liên quan