如何使用 HttpTestingController 刷新标头?

cjb*_*110 2 unit-testing http http-headers angular

我有一个调用 http api 的 Angular 服务,该 API 返回一个文件 blob。该服务将响应传递给文件保存方法以呈现文件以供下载。

我正在努力对此方法进行单元测试,特别是确保其中有包含正确标头的响应。我认为它是 TestRequest.flush() 函数的一部分

flush(body: ArrayBuffer | Blob | string | number | Object | (string | number | Object | null)[] | null, opts: {
    headers?: HttpHeaders | {
        [name: string]: string | string[];
    };
    status?: number;
    statusText?: string;
} = {}): void
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何添加标头。

        req.flush(file, {
        headers: {
            [name: 'Content-Disposition']= '' },
        status: 200,
        statusText: 'OK'
    });
Run Code Online (Sandbox Code Playgroud)

cjb*_*110 6

哦,无法解码函数的帮助定义:

它更简单并且有效:

req.flush(file, {
            headers: { 'Content-Disposition': 'part1;part2' },
            status: 200,
            statusText: 'OK'
        });
Run Code Online (Sandbox Code Playgroud)