2010-01-12 4 views
1

J'ai posté ceci au groupe concombre sans réponses, ce qui me fait me demander s'il s'agit réellement d'un problème de concombre ou non. Je suis assez nouveau pour le concombre, et il y a un certain nombre de choses que je ne comprends vraiment pas comment l'environnement du concombre est mis en place et exécuté dans l'environnement de test. J'ai une application rails REST API Je suis en train de tester avec concombre, en utilisant la gemme RestClient pour générer une action de création de poste à contrôleur. Lorsque j'exécute la fonctionnalité avec une URL codée en dur pointant vers un serveur localhost (mon environnement de serveur de développement local, en remplaçant tickets_url par "http: // localhost/tickets" dans l'extrait ci-dessous), mes étapes de concombre s'exécutent comme prévu. Cependant, lorsque l'URL de ressource résout l'hôte de concombre que je déclare, j'obtiens une exception d'erreur de socket.Erreur de concombre: erreur de socket pour l'hôte d'environnement de test dans l'API REST

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

Des étapes fichier:

 
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 

(la "puts" imprime déclaration "http://test.host/tickets")

En utilisant les gemmes suivantes:

  • concombre 0,6 .1
  • Webrat-0.6.0
  • reste-client-1.2.0

Je dois aussi dire que j'ai un ensemble similaire dans une autre application de rails, en utilisant test.host comme mon hôte, et il semble fonctionner très bien . J'apprécierais tout aperçu sur ce que je pourrais manquer dans ma configuration ou à quoi cela pourrait être lié.

Répondre