Как я могу настроить структуру каталогов Жасмин? - PullRequest
8 голосов
/ 26 ноября 2011

При использовании Jasmine Rubygem меня очень раздражает необходимость соответствовать сгенерированной структуре каталогов, в которой есть подпапка javascripts в папке spec. Я нахожу это бесполезным, так как пишу полностью на Javascript.

Я могу изменить это в папке public, изменив сгенерированный jasmine.yml, однако это не то, что я хотел, так как мне все еще нужно держать папку javascripts при себе.

Есть ли способ настроить эту структуру папок?

1 Ответ

5 голосов
/ 05 января 2012

Вот как я это сделал с жасмином gem 1.0.2.1:

1) Настройте файл jasmine_config.rb для переопределения метода simple_config_file, чтобы он указывал на правильный путь к файлу yml. Этот файл изначально создается в spec / javascripts / support / jasmine_config.rb. Как видно из источника на github (https://github.com/pivotal/jasmine-gem/blob/v1.0.2.1/lib/jasmine/config.rb),, метод жестко запрограммирован для использования:

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

Я хотел переименовать мой каталог spec в «test», чтобы верхняя часть моего файла jasmine_config.rb выглядела следующим образом:

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

2) Принудительно рейк для загрузки файла конфигурации. Я сделал это, добавив строку:

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

сразу после того, как мне потребовался жасмин в моем рейкфайле.

3) Обновите jasmine.yml (также в папке поддержки), чтобы указать, где находятся ваши тестовые файлы javascript. Мой файл yml теперь заканчивается этим:

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

Конечно, вам нужно настроить этот путь "test", чтобы он был тем, что вы хотите.

Я думаю, что этот подход должен работать с последней версией гема, но этот подход сломается в будущем, если они изменят интерфейс этого класса Config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...