all
tdc 專案中可以常看
- login.component.spec.ts
- sign up
注入一個 service (angular)
如果在 test 中要用 service 的時候需要用 **TestBed.inject() **的方式來引入
let analyticsService = AnalyticsService;
beforeEach(()=> {
...
analyticsService = TestBed.inject(AnalyticsService);
})
引用物件的東西
jest.spyOn(object, methodName)
範例:2
const video = {
play() {
return true;
},
};
module.exports = video;
const video = require('./video');
test('plays video', () => {
const spy = jest.spyOn(video, 'play');
const isPlaying = video.play();
expect(spy).toHaveBeenCalled();
expect(isPlaying).toBe(true);
spy.mockRestore();
});
如果是要放入假的資料可用 **mockReturnValue()**來去傳入假的資料
const spy = jest.spyOn(apiService, 'post').mockReturnValue(of({}));