- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想测试请求是否发送到正确的 api 端点。例如:我有一个服务将请求发送到 http://localhost:port/sth/sth2我只想检查是否有 http://localhost:port 。我正在使用 HttpTestingController 和 ExpectOne 函数,可以吗?
最佳答案
这是您想要做的事情吗?
设置
let httpClient: HttpClient;
let httpTestingController: HttpTestingController;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [ HttpClientTestingModule ]
});
httpClient = TestBed.get(HttpClient);
httpTestingController = TestBed.get(HttpTestingController);
});
测试
it('can test HttpClient.get', () => {
const testData: Data = {name: 'Test Data'};
httpClient.get<Data>('http://localhost:8085/test/suite')
.subscribe(data =>
expect(data).toEqual(testData)
);
const request = httpTestingController.expectOne(
(req: HttpRequest<any>) => req.url.includes('http://localhost:8085'));
request.flush(testData);
httpTestingController.verify();
});
这是 Angular 文档中的示例,只不过您将一个函数传递给 expectOne
,该函数接受一个 req 并返回一个 bool 值,用于检查请求的 url 是否包含正确的端点。
当然,您将用您的服务替换 HttpClient。
关于angular - HttpTestingController ExpectOne 仅验证 api 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312409/
我正在测试我的http服务类并尝试测试请求,但是我这个错误 Expected one matching request for criteria "Match URL: https://benefic
我不熟悉使用 Jasmine/Karma 进行 Angular Testing 。我在使用 HttpTestingController 测试 Angular 服务时遇到问题。这是源代码的一部分: ge
在测试 Angular 服务时,我什么时候可以使用 HttpTestingController.expectOne(...).flush(...) 或类似的东西,什么时候使用 MockBackend
我有一个调用 http api 的 Angular 服务,这个 API 返回一个文件 blob。该服务将响应传递给文件保存方法以显示文件以供下载。 我正在为这种方法的单元测试而苦苦挣扎,特别是要确保响
我有一个服务,它发出如下 HTTP get 请求 public get(uri: string, params?: HttpParams): Observable { return par
我只想测试请求是否发送到正确的 api 端点。例如:我有一个服务将请求发送到 http://localhost:port/sth/sth2我只想检查是否有 http://localhost:port
我只想测试请求是否发送到正确的 api 端点。例如:我有一个服务将请求发送到 http://localhost:port/sth/sth2我只想检查是否有 http://localhost:port
expectOne() 需要一个 URL 字符串来匹配被测试代码通过 HttpClient 发出的请求。但是,我想要单独的测试来验证请求 URL 和验证结果数据。我想要一个测试来验证我可以编写的请求
我正在尝试对从另一个服务获取值(返回 Promise)然后执行 http GET 请求的服务进行单元测试。 我正在使用来自@angular/common/http/testing 的 HttpTest
我的测试遇到了一个真正的问题,而我已经成功运行并模拟并返回的 HTTP 调用现在没有从测试中刷新并导致测试失败。我得到的错误是 Cannot flush a cancelled request. 实际
我希望使用 HttpTestingController 来测试我的服务通过 HttpClient 发送的 POST 请求中是否包含正确的字段集。 web-form.ts export class We
我正在使用 Angular 5 和 Jasmine 来测试我的 HTTP 服务。 我的 HTTP 服务将对同一端点进行 2 次 HTTP 调用,作为方法的一部分。我想检查该服务是否进行了 2 次 HT
我正在尝试了解如何使用作为新 HttpClientModule 的一部分提供的模拟功能。我的测试代码与现有文档中显示的内容几乎完全匹配。但是,文档示例并不完整 - 例如,至少缺少 TestBad 和
我是一名优秀的程序员,十分优秀!