【发布时间】:2017-08-08 18:42:12
【问题描述】:
我是 Jasmine 的新手,我正在尝试编写一个简单的单元测试来检查我的方法是否返回预期的值。这是我的 Angular 应用程序中的方法:
saveEvent(techEvent): Observable<IEvent>{
let headers = new Headers({ 'Content-Type': 'application/json'})
let options = new RequestOptions({headers: headers})
return this.http.post('/api/events', techEvent, options)
.map((response: Response) => {
//have an updated copy of saved event
return response.json()
}).catch(this.handleError)
}
如您所见,它是一个保存“techEvent”对象的 post 方法。这是我尝试在规范中编写的测试:
it('should save the event', () => {
var testEvent = { id: 7, name: "AngularJS"}
mockHttp.post.and.returnValue(Observable.of(false))
techEventService.saveEvent(<IEvent>testEvent)
expect(techEventService.saveEvent).toBe(jasmine.any(Object))
})
此测试失败:(。我的目标是简单地测试该方法是否返回一个对象并返回传递的特定对象。我想知道我是否也可以测试它是否是 JSON...
【问题讨论】:
标签: javascript angular unit-testing jasmine