2
我想單元測試使用茉莉花的Angular 2中的服務,並且需要在響應選項類的Body參數中添加JSON數據數組,我嘗試了各種方法,並且失敗了,請查看代碼下面片段:Angular 2單元測試
it('returns a list of employees with correct first-employee data', done => {
//Arrange
mockBackend.connections.subscribe((c: any) => {
let response = new ResponseOptions({
body: `[
{
travelReasonId:1,
name:'Operator visit'
},
{
travelReasonId:2,
name:'3rd Party visit'
},
{
travelReasonId:3,
name:'MGS visit'
}
]`
});
c.mockRespond(new Response(response));
});
// Act
let result: any;
travelReasonService.getAllTravelReasons()
.subscribe((_result) => { result = _result; });
// Assert
let firstValue = {
travelReasonId: 1,
name: 'Operator visit'
};
console.log(result);
expect(result[0]).toEqual(firstValue);
expect(result.length).toEqual(3);
});
試驗結果指出,語法錯誤:JSON解析錯誤:應爲「}」(線321)時運行測試所討論的代碼,任何幫助,將最讚賞。
好建議,你的身體是不是有效的JSON。鍵和字符串值必須用雙引號括起來。爲什麼不創建一個JavaScript對象數組,然後調用JSON.stringify()來獲得有效的JSON? –
嘿JB Nizet謝謝你的建議,它解決了我遇到的問題 – Mahesh