File tree 1 file changed +15
-0
lines changed
1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { TestBed } from "@angular/core/testing" ;
1
2
import { CalculatorService } from "./calculator.service" ;
2
3
import { LoggerService } from "./logger.service" ;
3
4
@@ -15,6 +16,20 @@ describe("CalculatorService", () => {
15
16
console . log ( "calling beforeEach" ) ;
16
17
loggerSpy = jasmine . createSpyObj ( "LoggerService" , [ "log" ] ) ;
17
18
calculator = new CalculatorService ( loggerSpy ) ;
19
+
20
+ // instead of initializing the instances by calling constructor explicitly
21
+ // we can provide depedency injection here using testbed utility
22
+
23
+ TestBed . configureTestingModule ( {
24
+ providers : [
25
+ CalculatorService , // using Real instance of calculator service
26
+ // using angular dependency mechanism to swap actual implementation of dependencies by jasmine
27
+ { provide : LoggerService , useValue : loggerSpy } , //Since we are not using actual instance
28
+ // Logger service is dependency of CalculatorService
29
+ ] ,
30
+ } ) ;
31
+ // TestBed.get in deprecated
32
+ calculator = TestBed . inject ( CalculatorService ) ;
18
33
} ) ;
19
34
20
35
// Specification (and each test are independent and does not interfere with each other)
You can’t perform that action at this time.
0 commit comments