【发布时间】:2020-05-08 09:28:06
【问题描述】:
我正在尝试将我的 JS WDIO 项目移植到 TypeScript
当我在开发期间 TypeScript 无法识别在我的 WDIO 配置中的 before 挂钩中声明的 Nodejs 全局变量时,我遇到了这个问题:
...
let chai = require('chai');
...
before: async function (capabilities, specs) {
//setting global variables
global.foo = "bar"
global.expect= chai.expect;
global.helpers = require("../helpers/helpers");
// ... etc.
// ... etc.
},
我遇到了不同的 SO 主题,但似乎它们不相关,因为这里的方法有点不同(因为 before 钩子)...
我什至设法通过创建 global.d.ts 来让它在某个时候工作,其中包含以下内容:
declare module NodeJS {
interface Global {
foo: string
}
}
但在此打字稿停止识别 WDIO 类型后,如 browser、$ 等。
而且通过这种方法,我必须在测试中使用global.foo,这意味着我必须更改数百次出现的foo。
如何将我的项目迁移到 TypeScript 并继续使用 before 挂钩中的全局变量?
【问题讨论】:
标签: node.js typescript webdriver-io