簡體   English   中英

GitHub 操作解決了錯誤的 Node.js 路徑

[英]GitHub Actions resolve wrong Node.js path

我正在 Jest 中運行我的測試,並通過 GitHub 操作。 不幸的是,它解決了不正確的路徑。

在我的源文件中,我使用以下邏輯來要求來自同一項目目錄的 JSON:

const json = require(require('path').resolve('.') + 'i18n', 'en.json');

在 Jest 中,路徑由jest.mock

jest.mock(require('path').resolve('.', 'i18n', 'en.json'), () => {
  return { title: 'English title', paragraph: 'Hello World' };
});

在本地這工作正常,但是當我將更改推送到 GitHub 操作時,項目文件夾的名稱是重復的:

Cannot find module '/home/runner/work/simple-translator/simple-translator/i18n/en.json' from 'tests/translator.node.test.js'

我認為它應該只包含一次simple-translator 您可以在此處查看失敗工作流的實時示例。 就是失敗的整個測試

您知道為什么 GitHub Actions 中的路徑分辨率無法正常工作嗎?

讓我試試,雖然我不熟悉 jest 或 github CI 過程......
測試程序生成的模擬 json 文件位於tests/i18n/en.json ,而您的工作進程正在尋找路徑`${moduleHomeRoot}/i18n/en.json` 我想你應該在 jest.mock 中添加 '..',如下所示:

jest.mock(require('path').resolve('..', 'i18n', 'en.json'), () => {
  return { title: 'English title', paragraph: 'Hello World' };
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM