Я пишу Jasmine
код для тестирования Restangular
логики. Я хочу, чтобы проверить, что мой «Foo» object
был Restangulraized, так что метод foo.getList()
будет вызывать GET /foo
и возвращает результат
я мог проверить это двумя способами. Я мог бы добавить .spy
на foo.getList()
и вернуть его ожидаемым результатам. В качестве альтернативы я могу использовать $HttpBackend.whenGET("/foo")
и установить там ожидаемые результаты.
Является ли это одним из предпочтительных?
Я бы предположил, что HTTPBackend
будет лучшим вариантом, поскольку он проверяет «позже» в логическом потоке. Если я использовал spy
, я не смог бы доказать, например, что мой Restangularize не испортил и пытался решить другой URL-адрес.
Однако, я смотрю унаследованные тесты, и все они используют spy
, и поскольку я предполагаю, что человек, который написал этот код, лучше меня (они не могут быть более новичками, а затем меня на Angular), это заставляет меня интересно, есть ли преимущество в использовании spy
за $httpBackend
.
Не могли бы вы объяснить, почему каждый из них более уместен в каждой ситуации? –
@ Sulthan, не могли бы вы рассказать об этом больше для сообщества с примером. Это действительно поможет понять лучше. Большое спасибо – user1807337