Mam usługę Chcę testować jednostkę w jaśminie 4 maszynopisu.Testowanie w 4 jednostkach z jaśminem/karmą z kpiną z postów http - jak naprawić
Teraz http
robi post
, ale zwraca tożsamość, jednak .. nie wysyła niczego.
Chcę po prostu mieć dobry zasięg kodu, ale nie rozumiem, jak zakończyć to kpiące oświadczenie.
tutaj jest metoda HTTP POST w moim pliku usług
addSession() {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(this.url, JSON.stringify({}), options)
.map((response: Response) => response.json());
}
następnie plik SPEC, które nie dostają tego, co naprawdę testy, przypuszczam, udaje, że otrzymała szereg z powrotem z usług hTTP POST, odpowiedź powinna być coś 000000014
Spec
import { TrackerFormService } from './tracker-form.service'
import { Observable } from 'rxjs/Observable'
describe('TrackerFormService',() => {
let trackerFormService: TrackerFormService,
mockHttp;
beforeEach(() => {
mockHttp = jasmine.createSpyObj('mockHttp', ['get', 'post', 'put']
)
trackerFormService = new TrackerFormService(mockHttp);
});
describe('addSession',() => {
it('add session ',() => {
// how to test, what to test?
// response , is a number? how to mock/fake this?
})
})
})
ja "Już korzystam z drugiego, a ja pytałem o to, jak konkretnie kpić z tego, co mam. to co mówisz jest ekwiwalentem 1. w rdzeniu .net, lub C# 7, możesz teraz zrobić XYZ, tyle fajnie lub 2. w ES6, teraz jest o wiele lepiej ... –
Jeśli dobrze to zrobię chcesz kpić z metody TrackerFormService.addSession() w teście TrackerFormService, która nie ma sensu z mojej perspektywy, ponieważ chcesz przetestować prawdziwą implementację, a nie próbę. – TekTimmy
zwraca odpowiedź z numeru takiego jak 000000015, więc jestem pewien, że ludzie wyśmiali/sfałszowali proces usług http post. mogę znaleźć przykłady, ale są one tak specyficzne, że staram się wymyślić, jak po prostu udawać/podrabiać mój konkretny test, to czego chcę. Nie twierdzę, że wiem, jak to zrobić, więc zadałem pytanie: –