首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开玩笑的是,打字稿找不到模块“@forge/bridge”

开玩笑的是,打字稿找不到模块“@forge/bridge”
EN

Stack Overflow用户
提问于 2021-10-23 12:13:46
回答 1查看 326关注 0票数 0

几天来,我一直在教一个用Forge和Forge/bridge测试Jira插件的解决方案。

我可以构建一个部署应用程序,但是如果我使用

进口*从“@ from /桥梁状态”进口

我总是会犯这个错误

找不到模块“@ find /bridge”

我试图将导入添加到"moduleNameMapper“中的jest配置中,但没有任何效果。

这里是我的带有jest配置的package.json

代码语言:javascript
复制
{
  "name": "roadmap-vite",
  "version": "0.0.1",
  "private": true,
  "homepage": ".",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "serve": "vite preview",
    "test": "yarn run jest -env=jsdom --collectCoverage",
    "lint:fix": "eslint ./src --ext .jsx,.js,.ts,.tsx --quiet --fix --ignore-path ./.gitignore",
    "lint:format": "prettier  --loglevel warn --write \"./**/*.{js,jsx,ts,tsx,css,md,json}\" ",
    "lint": "yarn lint:format && yarn lint:fix "
  },
  "dependencies": {
    "@atlaskit/button": "^16.1.2",
    "@atlaskit/css-reset": "^6.1.4",
    "@atlaskit/dropdown-menu": "^10.1.9",
    "@atlaskit/form": "^8.4.1",
    "@atlaskit/icon": "^21.9.0",
    "@atlaskit/select": "^15.2.2",
    "@atlaskit/tabs": "^13.2.2",
    "@atlaskit/textarea": "^4.2.2",
    "@atlaskit/textfield": "^5.1.2",
    "@atlaskit/theme": "^12.0.0",
    "@forge/api": "^2.3.0",
    "@forge/bridge": "^2.1.1",
    "@tailwindcss/ui": "^0.7.2",
    "@types/jest": "^27.0.2",
    "mobx": "^6.3.3",
    "mobx-persist-store": "^1.0.4",
    "mobx-react-lite": "^3.2.1",
    "react": "^17.0.0",
    "react-dom": "^17.0.0",
    "react-draggable": "^4.4.4",
    "react-indiana-drag-scroll": "^2.0.1",
    "react-router-dom": "^5.3.0",
    "ts-jest": "^27.0.5"
  },
  "devDependencies": {
    "@babel/core": "^7.15.5",
    "@babel/preset-env": "^7.15.6",
    "@babel/preset-react": "^7.14.5",
    "@testing-library/dom": "^8.6.0",
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^12.1.0",
    "@testing-library/react-hooks": "^7.0.2",
    "@testing-library/user-event": "^13.2.1",
    "@types/react": "^17.0.0",
    "@types/react-dom": "^17.0.0",
    "@types/react-router-dom": "^5.3.0",
    "@typescript-eslint/eslint-plugin": "^4.0.0",
    "@typescript-eslint/parser": "^4.0.0",
    "@vitejs/plugin-react": "^1.0.0",
    "autoprefixer": "^10.3.7",
    "babel-eslint": "^10.0.0",
    "babel-jest": "^27.2.2",
    "babel-preset-react-app": "^10.0.0",
    "eslint": "^8.0.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-config-react-app": "^6.0.0",
    "eslint-plugin-flowtype": "^5.2.0",
    "eslint-plugin-import": "^2.22.0",
    "eslint-plugin-jsx-a11y": "^6.3.1",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.20.3",
    "eslint-plugin-react-hooks": "^4.0.8",
    "identity-obj-proxy": "^3.0.0",
    "jest": "^27.2.2",
    "jest-circus": "^27.2.2",
    "jest-scss-transform": "^1.0.1",
    "jest-watch-typeahead": "^0.6.4",
    "postcss": "^8.3.8",
    "prettier": "^2.4.1",
    "react-test-renderer": "^17.0.2",
    "sass": "^1.42.1",
    "tailwindcss": "^2.2.16",
    "typescript": "^4.3.2",
    "vite": "^2.6.3"
  },
  "babel": {
    "env": {
      "test": {
        "presets": [
          "react-app"
        ]
      }
    }
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "jest": {
    "roots": [
      "<rootDir>/src"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/jest/jest.setup.js"
    ],
    "collectCoverageFrom": [
      "src/**/*.{js,jsx,ts,tsx}",
      "!src/**/*.d.ts"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 65,
        "functions": 80,
        "lines": 80,
        "statements": 80
      }
    },
    "testMatch": [
      "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
      "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
    ],
    "testEnvironment": "jsdom",
    "transform": {
      "^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.scss$": "jest-scss-transform",
      "^.+\\.css$": "<rootDir>/jest/mocks/cssMocks.js"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$",
      "^.+\\.module\\.(css|sass|scss)$"
    ],
    "moduleNameMapper": {
      "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
    },
    "watchPlugins": [
      "jest-watch-typeahead/filename",
      "jest-watch-typeahead/testname"
    ],
    "resetMocks": true,
    "moduleDirectories": [
      "node_modules",
      "src"
    ],
    "modulePaths": [ "<rootDir>" ]
  }
}

这里,链接到来自我的jira开发帖子的帖子。

连接到邮政和深层驱动

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2021-10-27 17:00:35

我找到了解决这个问题的办法。我为这个模块创建了一个模拟,如下所示。

/mocks/@forge/bridge/index.ts

代码语言:javascript
复制
const invoke = jest.fn((key) => key)

但是我有个问题,这是开玩笑,现在没有返回一个被模拟的模块的值。

代码语言:javascript
复制
const invoke = jest.fn((key) => key)

invoke.mockReturnValue('hallo')

console.log('setup mock', invoke('test'))

export { invoke }

如果我记录这个模拟,我会看到一个返回库,在我的测试中,我看到了

调用

是一个模拟的函数,但它的返回总是未定义的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69688039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档