2017-02-01 10 views
1

Когда я бег моего Rails имеет спецификацию без подключения к Интернету, тесты не со следующей причиной:Рельсов имеют функции: внешний Google шрифт API называется, но я не знаю, где

3) Creating user textarea fullscreen feature of "about" textarea shows the fullscreen toggler on hover 
    Failure/Error: visit new_user_path 

    Capybara::Poltergeist::StatusFailError: 
     Request to 'http://127.0.0.1:65001/en/users/new' failed to reach server, check DNS and/or server status - Timed out with the following resources still waiting http://fonts.googleapis.com/css?family=Fredericka+the+Great 
    # /Users/josh/.rvm/gems/[email protected]/gems/poltergeist-1.13.0/lib/capybara/poltergeist/browser.rb:376:in `command' 
    # /Users/josh/.rvm/gems/[email protected]/gems/poltergeist-1.13.0/lib/capybara/poltergeist/browser.rb:35:in `visit' 
    # /Users/josh/.rvm/gems/[email protected]/gems/poltergeist-1.13.0/lib/capybara/poltergeist/driver.rb:97:in `visit' 
    # /Users/josh/.rvm/gems/[email protected]/gems/capybara-2.12.0/lib/capybara/session.rb:252:in `visit' 
    # /Users/josh/.rvm/gems/[email protected]/gems/capybara-2.12.0/lib/capybara/dsl.rb:52:in `block (2 levels) in <module:DSL>' 
    # ./spec/features/users/new_spec.rb:137:in `block (3 levels) in <top (required)>' 

Я подозреваю, что это существо вызвано шрифт Google, что я ссылку, но я скачал шрифт локально и загрузить его, как это в моем SASS:

@font-face 
    font-family: 'Fredericka the Great' 
    font-style: normal 
    font-weight: 400 
    src: local('Fredericka the Great'), local('FrederickatheGreat'), asset-url('assets/fredericka_the_great.woff2') format('woff2') 
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215 

Так что я не вижу никаких ссылок на http://fonts.googleapis.com в моем коде. Поиск этой точной строки по всему проекту также не дает никаких результатов.

Как я могу предотвратить эту проблему? Я не хочу, чтобы PhantomJS обращалась к любому нелокальному ресурсу в любом случае, так как это замедляет тесты.

+0

Вы уже добавили какие-либо драгоценные камни для шрифтов Google? – Sebin

+0

Трудно сказать ... Я помню какой-то шрифт, который я установил один раз, но я не знаю. У меня также есть «font-awesome-rails», но я не думаю, что это проблема. –

+0

Пожалуйста, проверьте свой application.css один раз. Убедитесь, что вы не требуете ничего как такового. – Sebin

ответ

0

Я нашел проблему: мой application.css не был правильно перекомпилированы при тестировании, так что требуется старая версия.

После выполнения руководства $ rake assets:precompile источник api шрифта google больше не вызывался.

1

Если вы не хотите, чтобы Poltergeist/PhantomJS получал доступ к любому ресурсу вне 127.0.0.1, используйте функциональность белого списка, предоставляемую Poltergeist. При регистрации: полтергейст драйвер указать :url_whitelist вариант

Capybara.register_driver(:poltergeist) do |app| 
    Capybara::Poltergeist::Driver.new(app, url_whitelist: ['http://127.0.0.1']) 
end 
+0

Спасибо, это хороший намек. Хотя это не отвечает на мой вопрос. –