【问题标题】:How to resolve non relative paths with testcafe when using typescript使用打字稿时如何使用testcafe解析非相对路径
【发布时间】:2019-07-12 22:03:27
【问题描述】:

我正在使用 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 automated-tests e2e-testing testcafe tsconfig


    【解决方案1】:

    这似乎是 TypeScript 模块解析和 NodeJS 的问题,而不是 TestCafe。

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

    index.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代码:

    index.js

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

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

    【讨论】:

      猜你喜欢
      • 2016-08-22
      • 2020-09-21
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 2022-07-31
      • 2022-01-07
      相关资源
      最近更新 更多