2014-09-09 6 views
5

Ich erweitere die DS.ActiveModelAdapter, um eine benutzerdefinierte host zu verwenden, da sich meine API in einer Subdomäne befindet, z. B. http://api.lvh.me:3000, wenn lokal gearbeitet wird.Verwenden von Pretender in einer ember-cli-App mit einem benutzerdefinierten Hostnamen

In meinen Tests versuche ich Pretender zu verwenden, um die Antworten auf die API-Anfragen zu verspotten, aber Pretender verarbeitet die Anforderungen nicht, vermute ich aufgrund dieser benutzerdefinierten Hosteinstellung.

Ich habe viele verschiedene Varianten ausprobiert, um dies zu erreichen, einschließlich der Einstellung des Hosts auf verschiedene Werte, der Einstellung des Hosts überhaupt, Ausführung der Tests mit dem Befehl --proxy und so weiter.

Ich werfe offensichtlich nur Darts an eine Wand und hoffe, dass etwas bleibt. Kann mir jemand zu verstehen, was ich sollte tun?

+0

Wie sehen Ihre Pretender Mocks aus? – Dhaulagiri

Antwort

3

Es könnte funktionieren, wenn Sie den Host Ihres Adapters als Konfigurationsvariable definieren:

export default DS.ActiveModelAdapter.extend({ 
    host: config.apiHost 
}); 

Sie definieren Host die „echte“ Host in nicht-Hosting-Umgebungen zu sein (http://api.lvh.me:3000) und lassen nur die Config .apiHost beim Testen. Wenn Sie dies tun, können Sie Pretender verwenden, um die Anfragen auszugeben, da es sich nun um Anfragen mit demselben Host (oder, in anderen Worten, relativen) handelt.