使用服务HTTP对Admin组件进行单元测试Get in angular 6

时间:2019-02-27 17:40:19

标签: typescript unit-testing http angular6 karma-jasmine

我是Angular 6的新手。尝试单元测试用例以测试具有服务依赖项(HTTP GET / POST)方法的组件。

Service.service.ts

getAdmin(){
return this.http.get('./assets/admin.json').map((response:Response) => response.json());}

postAdmin(){
retur this.http.post('./assets/admin_post.json').map((response) => {

响应;}

在component1中,有一个表单,在提交时,我调用了service.ts中的get方法。

testService.getAdmin().subscribe((res) => {
        expect(res).toBe('json');
        expect(res).toEqual(data);
    });const req =  httpMock.expectOne({ method: 'GET', url: encodeURI('./assets/admin.json') });

expect (req.request.method).toBe('GET');
expect(req.request.url).toBe('./assets/admin.json');

req.flush(data);
httpMock.verify();
tick();

显示为

  

预期对标准“匹配方法:GET,URL:./ assets / adminDetails.json”的一个匹配请求,找不到。

json文件位于资产文件夹中。

  

已调用预期的间谍getAdmin错误。

对于POST,能否为我提供POST调用的示例单元测试代码?

谢谢。

0 个答案:

没有答案