I want to test my component which use a service. I dont want to use npm libraries or create mock files. I want to use spy object.
Let assume the service looks like this:
@Injectable({
providedIn: root
}
export class MyService {
isReady: Subject<boolean>;
// etc more code
}
Inside my spec.ts file:
// Includes
describe('myComponent', () => {
// Some boilerplate code
let mockMyService;
beforeEach(() => {
mockMyService = jasmine.createSpyObj('MyService', ['isReady']);
});
TestBed.configureTestingModule({
declarations: [
// Some declarations.
],
providers: [
{ provide: MyService, useValue: mockMyService}
}]);
beforeEach(() => {
mockMyService.isReady.and.returnValue(of({}));
});
As you see, i want to mock a variable(Subject) of a service. But my code above doesnt work.
How to do that? Thanks is in advance.
Aucun commentaire:
Enregistrer un commentaire