Zamieniam się na żart z mokki i zastanawiam się, czy istnieje sposób na szpiegowanie metody reakcji. Na przykład powiedzmy, że mam następujące metody w moim składnika (Ignoruj biblioteki SDK, to właśnie konstruuje jquery wywołanie Ajax):Jest szpiegiem funkcjonalności
getData() {
sdk.getJSON('/someURL').done(data => {
this.setState({data});
});
}
Korzystanie sinon chciałbym przetestować przez szpiegostwo na prototypie tak:
it('should call getData',() => {
sinon.spy(Component.prototype, 'getData');
mount(<Component />);
expect(Component.prototype.getData.calledOnce).to.be.true;
});
Zapewniłoby to pokrycie kodu bez drwiny z metody. Czy podobna funkcjonalność jest w żartach?
EDYCJA: Ponadto, jeśli ta funkcja nie istnieje, jaka jest następna najlepsza strategia testowania wywołań API?
To nie to samo zachowanie jak w 'sinon.spy', ponieważ nadpisze' getData', podczas gdy 'sinon.spy' i' jest.spyOn' również wywołają oryginalną metodę. –
Dobrze! ... poprawiono odpowiedź –