рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдгреАрдп 2 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирдХрд▓реА рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдореБрджреНрджрд╛ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП TODO рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
рдФрд░, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ SO рдкреЛрд╕реНрдЯ рдХреЛ рдХреНрд░реЙрд╕-рд░реЗрдлрд░реЗрдВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: http://stackoverflow.com/questions/36354233/protractor-mocking-backend-with-angular2-on-api-request ред
рдзрдиреНрдпрд╡рд╛рджред
@juliemr рдХреНрдпрд╛ рд╣рдо рдХреЛрдгреАрдп 2 рдХреЗ рд▓рд┐рдП рдирдХрд▓реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХрдм? рдпрджрд┐ рд╣рдо рд╣рд╛рдЗрдмреНрд░рд┐рдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЗрд╕ рджреМрд░рд╛рди рдореЙрдХ рдХрд╛рдо рдХрд░рддрд╛ рд░рд╣реЗрдЧрд╛?
@ jlin412 рд╣рд╛рдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рдпрд╣ рдПрдУрдЯреА рдФрд░ рдЧреИрд░-рдПрдУрдЯреА рджреЛрдиреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╣рд╛рдЗрдмреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ ng1 рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред
рдмрд╛рдХреА рд╕рднреА - рдХреГрдкрдпрд╛ +1 рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрдердм рдХреА рдЗрдореЛрдЬреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдЧрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдБ рддрд╛рдХрд┐ рдпрд╣ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛред рдзрдиреНрдпрд╡рд╛рдж!
@juliemr рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдгреАрдп 2 рдХреЗ рд▓рд┐рдП рдирдХрд▓реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдИрдЯреАрдП рд╣реИ?
рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдЗрд╕ рдмреАрдЪ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
http-backend-proxy рдФрд░ httpbackend рд╕рдВрдХреБрд▓ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╕рдЪ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ docker-compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ E2E рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИрдВ?
рдореИрдВ рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рдХреЙрд▓ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрдгреАрдп 1 рдФрд░ 2 http рдЕрдиреБрд░реЛрдз рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
https://mdasberg.github.io/ng-apimock/
рд╢рд╛рдпрдж рдЖрдк рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рдорд╢реАрдирд┐рдЬреНрдо рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдХрд▓реА рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрдХреНрд╖ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛:
рдЪрд╛рдВрджрд╛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЗрди рджреЛрдиреЛрдВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛:
platformBrowserDynamic().bootstrapModule
platformBrowser().bootstrapModuleFactory
рдЙрдирдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЖрд╡рд░рдг рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдирдпрд╛ ngModule рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрди рдореЙрдбреНрдпреВрд▓реЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдореЙрдХ рдЖрдЙрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдиреАрдЪреЗ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ рдЗрд╕рдХрд╛ рдЫрджреНрдо рдХреЛрдб рд╣реИ):
function bootstrapModuleOverride (moduleToBootstrap) {
@NgModule({
imports: [moduleToBootstrap],
provide: ArrayOfMockModules,
bootstrap: moduleToBootstrap.bootstrap
})
class moduleToBoostrapWrapper {}
platformBrowserDynamic().bootstrapModule(moduleToBoostrapWrapper);
}
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдЕрдЧрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛рдмрджреНрдз рд░рд┐рд▓реАрдЬ рд╣реИ?
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред рд╣рдореЗрдВ рдХреЛрдгреАрдп 2+ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ e2e рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдореЙрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!
рдХреЛрдгреАрдп 2+ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реЛрддреА рдЬрд╛ рд░рд╣реА рд╣реИ :)
рд╣рд╛рдБ рдЗрд╕ рд╕рдордп рд╣рдорд╛рд░реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА angular5 рдкрд░ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА e2e рд╕реНрдкреЗрдХреНрд╕ рдореЗрдВ http рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВ
( @tauil рдЫреЛрдЯреА рджреБрдирд┐рдпрд╛, рд╣реБрд╣?)
рдпрд╣рд╛рдВ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдореБрдЭреЗ addMockModule рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
1) рдХрд╕реНрдЯрдо рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯрд░ рдЗрдВрдЬреЗрдХреНрд╢рдиред
https://angular.io/guide/http#writing -an-interceptor
рдЙрджрд╛рд╣рд░рдг http рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рдХрдмреНрдЬрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдирд╛ред
2) рддреГрддреАрдп рдкрдХреНрд╖ рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред
.decorator(
'xyzService',
[
'$q', '$delegate',
($q, $delegate) => {
$delegate.isEnabled = () => true;
return $delegate;
}
$delegate.getProfileDetail = () =>
$q.when({name: 'Tester 001', title: 'E2E Tester'});
])
рдХрд╕реНрдЯрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП: рд╣рдо httpclient рдЯреЗрдореНрдкрд▓реЗрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (1) рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рднреА рд╣рд▓ рдХрд░реЗрдЧрд╛ред
3) рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреГрд╖реНрда рд╡рд╕реНрддреБрдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрд╖реЗрд░ рдирд╣реАрдВ)
рдПрдирдЬреА.рдЬрд╛рдВрдЪ($0)._debugInfo
рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдЗрд╕реЗ рдХрдм рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддрд╛ рд╣реИ!
рдпрд╣ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдпрд╣ рджреЛ рд╕рд╛рд▓ рдкреБрд░рд╛рдиреА рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддреА рд╣реИ?!
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдмреИрдХ рдПрдВрдб рдХреЙрд▓ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП jswiremock рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдЦреЗ рд╣реИрдВ: https://gist.github.com/jamescookie/f7b854226ca1e133d1b7b2798095b7f4
рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдиреЙрдХ рд╣реИред
рдпрд╣ рдХрд┐рд╕реА рднреА рдврд╛рдВрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ, HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдЖрдк рдПрдирдЬреА-рдПрдкрд┐рдореЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдореМрдЬреВрдж рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рдорд╣рд╛рди рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рд╣реИ
рдЖрдк рдЗрд╕реЗ AngularJs рдФрд░ Angular рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрд░ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдПрдирдЬреА-рдПрдкрд┐рдореЙрдХ рдХреЛ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЗ рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
рдЬрд┐рддрдирд╛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрддрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рдЧрддрд┐ рд╣реИ? рдпрд╣ рдЗрд╕ рд╕рдордп рдПрдХ рднрд╛рд░реА рдЕрд╡рд░реЛрдзрдХ рд╣реИред
рдЧрдВрднреАрд░рддрд╛ рд╕реЗ, рдХреНрдпрд╛ рдкреНрд░реЛрдЯреНрд░реИрдХреНрдЯрд░ рдХреЛ рдПрдВрдЧреБрд▓рд░ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рддреЛ рдпрд╣ рдЖрдЬ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд╛рдВрджрд╛ рдпрд╛ рдХреЛрдгреАрдп рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЖрдк ng serve
рдореЗрдВ "рдирдХрд▓реА" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреА рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдирд┐рд░реНрднрд░ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдмреИрдХрдПрдВрдб рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ HTTP рдкрд░рдд рдкрд░ рдореЙрдХрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рднрдВрдбрд╛рд░ рдмрдирд╛рдпрд╛ рд╣реИ: https://github.com/westonpace/angular-example-mock-services
рдореИрдВ рдпрд╣рд╛рдБ рдПрдХ SO рдкреНрд░рд╢реНрди рдХреЗ рдЕрдкрдиреЗ рдЙрддреНрддрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдБ:
рдпрд╣ рдЙрддрдирд╛ рдЖрд╕рд╛рди/рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдпрд╣ рдПрдВрдЧреБрд▓рд░ 1 рдореЗрдВ рдерд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирдХрд▓реА рд╕реЗрд╡рд╛рдПрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ) рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рдордЪрд╛рди рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирдХрд▓реА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ рдмрд╣реБрдд рд╕реАрдзрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд-рд╕реНрд╡рдЪреНрдЫ-рдкреБрд╕реНрддрдХрд╛рд▓рдп-рд░рд╣рд┐рдд рддрд░реАрдХреЗ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢:
рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ? @ jlin412 рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕реЛрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рдкрд░ рд╢реБрд░реБрдЖрдд рдХреА рд╣реИ?
рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ? @ jlin412 рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕реЛрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рдкрд░ рд╢реБрд░реБрдЖрдд рдХреА рд╣реИ?
@katiesandford , рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддреГрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рд╡реЗ рдЖрдЙрдЯрд▓реЗрдпрд░ рдХреНрдпрд╛ рд╣реИрдВ рддрд╛рдХрд┐ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХреВрдВ
@gabrieldoty рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдореИрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭреВрдВ рддреЛ рдЖрдк рд╕реЗрд╡рд╛ рд╕реНрддрд░ рдкрд░ рдирдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди http рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╡рд┐рдХрд╛рд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ, рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдореЙрдХ рдЧрддрд┐рд╢реАрд▓ рд╣реЛрдВред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рдЪрд░рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдХ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИред
@gaeljw рдорд╣рд╛рди рдЕрдВрдХ! рдореИрдВ рдЧрддрд┐рд╢реАрд▓ рдореЛрдХреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдЬреАрдм рддрд░реАрдХреЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╕рдорд╛рдзрд╛рди рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛!
рдореЗрд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рднреА HTTP рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрд╡рд╛ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕ рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ рд╕реНрд╡реИрдк рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдЧрднрдЧ рдПрдХ рд╕рдЪреНрдЪреЗ http рдирдХрд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИред
рдЙрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрд╝рдмрд░? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд╛рдВрджрд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЕрдм рдЙрддрдирд╛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд░рд╣рд╛...
рдХреЛрдИ рдЕрдкрдбреЗрдЯреНрд╕?
рдореЙрдХрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ #4300 . рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ
рд╡рд╛рд╣, рдпрд╣ рдЯрд┐рдХрдЯ рдЕрдм рд▓рдЧрднрдЧ 4 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ! рдХреНрдпрд╛ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИрдВ?
рдХреЛрдИ рдЦрд╝рдмрд░?
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ jlin412 рд╣рд╛рдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рдпрд╣ рдПрдУрдЯреА рдФрд░ рдЧреИрд░-рдПрдУрдЯреА рджреЛрдиреЛрдВ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╣рд╛рдЗрдмреНрд░рд┐рдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ ng1 рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред
рдмрд╛рдХреА рд╕рднреА - рдХреГрдкрдпрд╛ +1 рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреАрдердм рдХреА рдЗрдореЛрдЬреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдЧрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдБ рддрд╛рдХрд┐ рдпрд╣ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛред рдзрдиреНрдпрд╡рд╛рдж!