Piszę test dla naszej aplikacji, a dołączyłem angularjs-mocks.js, dzięki czemu mogę korzystać z ładnych funkcji dsl, które są z tym związane.Używanie makr angularjs bez kpiny z niczego
Ale nie chcę kpić z żądań $ http, ponieważ integruję tę aplikację z backendem klienta, który nieustannie się zmienia i chcę przetestować na podstawie rzeczywistych odpowiedzi.
Jaki jest najlepszy (najłatwiejszy) sposób użycia prawdziwego backendu http w tej sytuacji?
EDIT:
znalazłem potencjalne rozwiązanie, które jest w użyciu to:
$httpBackend.whenPOST(/.*/).passThrough()
Ale jak wspominam poniżej, to nie działa, prawdopodobnie złamany? Otrzymuję ten błąd:
Error: Unexpected request: POST /some/url/here No more request expected
Mam otwarty problem tutaj: https://github.com/angular/angular.js/issues/1434
Zawsze można utworzyć fałszywy $ http do wstrzyknięcia, tworząc prosty javascript, który wykonał żądanie http XHR, bez konieczności makiet kątowych. Fajnie jest testować w JavaScript, możesz klapsować obiekty i wstrzykiwać je, jak chcesz, z powodu dynamicznego pisania. –
Dobrze, ale problem polega na tym, że angularmocks zastępuje $ httpBackend, którego używa $ http. Teraz próbuję obejść to z $ httpBackend.whenGET (/.*/). PassThrough(), ale wydaje się albo zepsuty, albo nie używam go poprawnie. – doubledriscoll
Domyślam się, co sugeruję, możesz użyć wanilii js, aby utworzyć obiekt z wszystkimi potrzebnymi metodami. Żadna kątowa sztuczka nie jest wymagana. –