각도 4 타이프 스크립트 재스민에서 단위 테스트를 원합니다.http post mocking으로 jasmine/karma로 각도 4 단위 테스트 - 수정 방법
이제 http
은 post
을 수행하고 있지만 ID를 반환하지만 아무 것도 보내지 않습니다.
나는 단지 좋은 코드 커버리지를 원하지만 나는이 조롱 진술을 어떻게 완성하는지 이해하지 못한다. 여기
내가 정말 테스트, 내가 번호를받은 날조 가정 해 봅시다 무엇을하지 않는, 내 서비스 파일
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());
}
그런 다음 SPEC 파일에서 HTTP 게시하는 방법입니다 다시 서비스 HTTP 포스트에서, 응답은 같은해야 000000014
사양
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?
})
})
})
저스틴 Searls에 의해 일반적으로 테스트 및 얼마나 많은 테스트하는 내가 "예산의 현실"을보고 추천에 대한 참조 및 자세한 내용은 https://www.npmjs.com/package/nock
전 이미 다른 것을 사용하고 있는데, 나는 내가 갖고있는 것을 조롱하는 법을 묻고있었습니다. 당신이 말하는 것은 닷넷 코어, 또는 C# 7에 상응하는 것입니다. 이제 XYZ를 할 수 있습니다. 너무 멋지거나 2. ES6에서 이제는 훨씬 더 좋습니다 ... –
내가 제대로 이해한다면 TrackerFormService.addSession() 메서드를 내 모토에서 이해할 수없는 TrackerFormService 테스트에서 모의하지 않고 실제 구현을 테스트하려고하기 때문에 조롱하고 싶습니다. – TekTimmy
응답에서 000000015와 같은 숫자를 반환하므로 사람들이 HTTP 게시 서비스 프로세스를 조롱하거나 위조 한 것 같습니다. 나는 예제를 찾을 수 있지만, 특정 테스트를 모방하거나 위조하는 방법을 알아 내려고 시도하는 것이 너무 구체적입니다. 나는 그것을하는 방법을 알고 있다고 주장하지 않는다. 그래서 질문을하고있다. –