我正在使用 WebdriverIO 帮助进行一个测试项目。我们在 TS serting 方面遇到了巨大的困难,因为 TS 转译器似乎可以正确解析 TS 模块,但解析在运行时失败。
例如,如果我有一个模块:
// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)
然后是一个文件:
// someTest.ts
import { config } from './config/config`;
Run Code Online (Sandbox Code Playgroud)
然后 TS 将正确显示 的类型config。但是,在运行该套件时,我会收到以下消息:
[0-2] 2023-04-18T09:07:54.651Z ERROR @wdio/runner: Error: Cannot find module '/Users/ronnyefronny/projects/wdio-demo/config/config' imported from /Users/ronnyefronny/projects/wdio-demo/test/step-definitions/VoiceflowStepDefs.ts
Run Code Online (Sandbox Code Playgroud)
我的tsconfig.json是:
// config/config.ts
export const config = {};
Run Code Online (Sandbox Code Playgroud)
WDIO 配置的其余部分是按照他们的文档推荐的,但仍然什么也没有。
让我困惑的是,在他们自己的示例样板存储库中,WDIO 将 TS 模块导入为 JS,这让我困惑不已。我在后端和前端项目上使用 TS 已经有几年了,从来不需要导入 TS 模块作为其转译的 JS 模块。
也就是说,而不是
import { config } from './config/config';
Run Code Online (Sandbox Code Playgroud)
会做 …