Bird
0
0

You want to test a component that uses a service injected via constructor. Which TestBed configuration is correct to provide the service mock?

hard📝 Application Q15 of 15
Angular - Testing
You want to test a component that uses a service injected via constructor. Which TestBed configuration is correct to provide the service mock?
ATestBed.configureTestingModule({ declarations: [MyComponent], providers: [{ provide: MyService, useValue: mockService }] })
BTestBed.configureTestingModule({ declarations: [MyComponent], imports: [MyService] })
CTestBed.configureTestingModule({ declarations: [MyComponent], declarations: [MyService] })
DTestBed.configureTestingModule({ providers: [MyComponent, MyService] })
Step-by-Step Solution
Solution:
  1. Step 1: Understand service injection in TestBed

    Services are provided via providers array. To mock a service, use provide with useValue.
  2. Step 2: Analyze options

    TestBed.configureTestingModule({ declarations: [MyComponent], providers: [{ provide: MyService, useValue: mockService }] }) correctly provides a mock service. TestBed.configureTestingModule({ declarations: [MyComponent], imports: [MyService] }) wrongly puts service in imports. TestBed.configureTestingModule({ declarations: [MyComponent], declarations: [MyService] }) wrongly declares service as component. TestBed.configureTestingModule({ providers: [MyComponent, MyService] }) wrongly provides component as service.
  3. Final Answer:

    TestBed.configureTestingModule({ declarations: [MyComponent], providers: [{ provide: MyService, useValue: mockService }] }) -> Option A
  4. Quick Check:

    Mock services go in providers with provide/useValue [OK]
Quick Trick: Use providers with provide and useValue for service mocks [OK]
Common Mistakes:
  • Putting services in imports or declarations
  • Providing components instead of services
  • Not mocking services causing real calls

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Angular Quizzes