Ошибка огурца: ошибка сокета для хоста тестовой среды в REST API - PullRequest
1 голос
/ 13 января 2010

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

У меня есть приложение REST API rails, которое я тестирую с помощью cucumber, используя гем RestClient для генерации действия создания сообщения в контроллере. Когда я запускаю функцию с жестко заданным URL-адресом, указывающим на работающий сервер localhost (моя локальная среда сервера разработки; замена tickets_url на «http: //» localhost / tickets "в приведенном ниже фрагменте), мои шаги огурца выполняются, как и ожидалось. Однако, когда URL ресурса разрешается на хост огурца, который я объявляю, я получаю исключение ошибки сокета.

getaddrinfo: nodename nor servname provided, or not known (SocketError)

Из файла шагов:

When /^POS Adapter sends JSON data to the Tickets resource$/ do
  ticket = {
    :ticket => {
      ...
    }
  }

  host! "test.host"
  puts tickets_url
  RestClient.post tickets_url, ticket.to_json, :content_type => :json, :accepts => :json
end

(оператор "выводит" печатает "http://test.host/tickets")

Использование следующих драгоценных камней:

  • огурец 0.6.1
  • Webrat-0.6.0
  • Остальные-клиент-1.2.0

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

1 Ответ

0 голосов
/ 14 января 2010

Какой номер порта вы используете? Подобная проблема была исправлена ​​еще в октябре 2009 года. Эта проблема была связана с использованием большого номера порта. Вот легкая комнатная открытка: https://rspec.lighthouseapp.com/projects/16211/tickets/502-wire-protocol-features-fail-with-os-x-snowy

...