typescript - 使用 typescript 时如何使用testcafe解析非相对路径

标签 typescript automated-tests e2e-testing testcafe tsconfig

我正在使用 testcafe 进行测试自动化我已经将 typescript 集成到项目中。我已经设置了非相对路径,见下文,它适用于 IDE,但在编译时我确定它们不会恢复到它们的原始路径。

我尝试将 moduleResolution 选项设置为 tsconfig.json 中的一个节点,尽管这不起作用。

有没有一种方法可以通过 testcafe 的配置或其他方式实现?

// tsconfig.json
{
  "compilerOptions": {
    "moduleResolution": "node",
    "baseUrl": ".",
    "paths": {
        "@page-model/*": [
            "page-model/*",
        ]
    }
  }
}
// test-file.ts
import { Home } from '@page-model/home'

我在运行 testcafe chrome test-file.ts 时收到的错误是找不到我正在引用的模块。显然是因为它没有被转换。

最佳答案

这看起来像是 TypeScript 模块解析和 NodeJS 的问题,而不是 TestCafe 的问题。

我创建了一个示例来演示没有 TestCafe 的问题。请看下面的代码:

索引.ts

function log(t:any) {
    console.log(t);
}

log(require('@page-model/model').HEADER);

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "models",
    "paths": {
      "@page-model/*": [ "main/*" ]
    },
    "noImplicitAny": true
  }
}

我用tsc util编译了index.ts文件,得到了如下js代码:

索引.js

function log(t) {
    console.log(t);
}
log(require('@page-model/model').HEADER);

路径未被 TS 编译器解析。我在 StackOverflow 上搜索了可能的解决方案,他们建议尝试 https://www.npmjs.com/package/tsconfig-paths模块。

关于typescript - 使用 typescript 时如何使用testcafe解析非相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014497/

相关文章:

javascript - 在指令内手动从注入(inject)器获取依赖项

java - JUnit 5 AfterAllTests 功能

angularjs - 所有测试运行后删除 e2e 测试中创建的记录

python - 如何修复机器人框架中的 "Element with locator not found"

javascript - 如何在测试之间传递可变数据

testing - Browserstack 上的文本日志中的 Testcafe "chapters"

javascript - 在 Typescript 中编写清理函数来检查 null、未定义和空字符串,并在函数内部出现错误

angular2 map 数据作为特定对象类型

typescript - 解析 JSON 响应 Angular 2

java - Selenium java.lang.nullpointerexception JUnit 测试用例