Angular单元测试动态更改查询参数
创始人
2024-10-23 21:30:24
0次
  1. 在测试文件中引入HttpTestingController和HttpClientTestingModule:

import { TestBed } from '@angular/core/testing'; import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'; import { HttpClient } from '@angular/common/http';

describe('Your Component', () => { let httpClient: HttpClient; let httpTestingController: HttpTestingController;

beforeEach(() => { TestBed.configureTestingModule({ imports: [ HttpClientTestingModule ], providers: [ YourService ] });

httpClient = TestBed.inject(HttpClient);
httpTestingController = TestBed.inject(HttpTestingController);

});

afterEach(() => { httpTestingController.verify(); });

it('should get data with query params', () => { const query = { param: 'value' }; const response = { data: 'your data' };

httpClient.get('/your/api/route', { params: query }).subscribe((data) => {
  expect(data).toEqual(response);
});

const req = httpTestingController.expectOne('/your/api/route?param=value');
expect(req.request.method).toEqual('GET');
req.flush(response);

}); });

  1. 在测试用例中使用httpClient.get方法并传入需要的查询参数。在subscribe回调中使用expect方法验证是否得到了正确的响应数据。

  2. 使用httpTestingController.expectOne方法捕捉http请求,并验证请求方法和API地址是否正确,最后使用req.flush方法输出响应数据。

  3. 最后,在afterEach钩子函数中使用httpTestingController.verify方法验证是否所有请求都被捕捉并且响应了。

相关内容

热门资讯

一分钟教你透视!购买的wpk辅... 很多人使用云端 AI 时,都担心购买的wpk辅助在哪里下载、内部资料上传带来隐私风险。这款本地运行的...
我来教教你辅助器!wepoke... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker高级辅助解析、 AI ...
实测分享辅助器!德普之星辅助正... 您好,实测分享辅助器!德普之星辅助正版,WPK真的有挂下载(原本存在有辅助器)这款游戏可以开挂的,确...
一分钟揭秘!辅助!wepoke... 很多人使用云端 AI 时,都担心wepoker国外版透视、内部资料上传带来隐私风险。这款本地运行的 ...
推荐十款!辅助挂!德扑之星透视... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星透视辅助软件激活码解析、 A...
科普常识透视挂!智星德州插件怎... 您好:智星德州插件怎么下载这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户...
揭秘一下开挂!德扑之星辅助器怎... 您好,揭秘一下开挂!德扑之星辅助器怎么用,wepoker可以开挂吗平台(原本有开挂)这款游戏可以开挂...
AI教程辅助器!wpk辅助购买... 您好:wpk辅助购买这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特...
必备教程辅助!wepoker透... 必备教程辅助!wepoker透视脚本视频,微扑克透视挂件教程(果然真的是有辅助)AI 是一款可以让一...
实测分享辅助挂!德普之星辅助工... 您好:德普之星辅助工具如何打开这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...