我的代码从Request对象的标头中获取条目。
request
的类型为Request
let headers = {};
for (const pair of request.headers.entries()) {
headers[pair[0]] = pair[1];
}
在浏览器环境中执行转译的代码效果很好,但是运行mocha测试会返回
TypeError:request.headers.entries不是函数
我的tsconfig文件:
{
"compilerOptions": {
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"moduleResolution": "node",
"removeComments": false,
"sourceMap": true,
"downlevelIteration": true,
"target": "es5",
"lib": ["es7", "dom", "dom.iterable"],
"declaration": true
}
}
修改:
我的测试是使用TypeScript编写的,该脚本使用上述tsconfig文件进行编译。
摩卡咖啡版本:5.2.0
打字稿版本:2.2.1
我的实际代码:
export const getHeaders = (request: Request): Record<string, string> => {
let headers = {};
for (const pair of request.headers.entries()) {
headers[pair[0]] = pair[1];
}
return headers;
}
我的测试:
describe("getHeaders", function() {
it('Should return headers', () => {
let req = new Request("/testurl", {
method: "GET",
headers: new Headers({"test": "test"})
})
assert.equal(getHeaders(req).test, "test");
});
});