reactjs - React Jest Enzyme - 导入 Markdown 时测试失败

标签 reactjs markdown jestjs enzyme

当我尝试运行我的测试时,他们在我的类里面失败了,他试图导入我的 Markdown 文件:

import StartRecord from './Documentation/content/API/Start_record.md';
import UseLive from './Documentation/content/User/Live.md';
import UseRecord from './Documentation/content/User/Record.md';
import UseReplay from './Documentation/content/User/Replay.md';
import Settings from './Documentation/content/User/Settings.md';

这是我失败的消息:
FAIL  src/__test__/App.test.js
  ● Test suite failed to run

/Users/anyone/Desktop/web/src/Modules/Dashboard/Documentation/content/User/Live.md:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){# Interface
                                                                                         ^

SyntaxError: Invalid or unexpected token

   8 | // Content
   9 | import StartRecord from './Documentation/content/API/Start_record.md';
> 10 | import UseLive from './Documentation/content/User/Live.md';
     | ^
  11 | import UseRecord from './Documentation/content/User/Record.md';
  12 | import UseReplay from './Documentation/content/User/Replay.md';
  13 | import Settings from './Documentation/content/User/Settings.md';

我搜索了很多错误,但从未发现 Markdown 。

我使用 webpack 并且已经将其配置为读取 Markdown。 (它是 webconfig 文件的一部分)
{
        test: /\.md$/,
        include: /node_modules/,
        use: [
            {
                loader: "html-loader"
            },
            {
                loader: "markdown-loader"
            }
        ]
      }

最佳答案

我在我的 jest 配置中找到了解决方案,方法是在扩展和 moduleNameMapper 中添加 htmlmd像那样:

module.exports = {
  moduleFileExtensions: ['js', 'jsx', 'json', 'png', 'md', 'html'],
  transform: {
    '^.+\\.(js|jsx)?$': 'babel-jest'
  },
  "moduleNameMapper": {
    "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|md|html)$": "<rootDir>/assetsTransformer.js",
    "\\.(css|less)$": "<rootDir>/assetsTransformer.js"
  },
  "setupFiles": [
    "./configJSDom.js"
  ],
  "collectCoverage": true,
  "collectCoverageFrom": [
    "src/*.js",
    "src/*/*.js",
    "src/*/*/*.js",
    "!src/test.js",
    "!src/serviceWorker.js",
    "!src/index.js"
  ]
};

关于reactjs - React Jest Enzyme - 导入 Markdown 时测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54530544/

相关文章:

javascript - React.js,列表中的每个 child 都应该有一个唯一的 "key" Prop 。如果 key 已经给出,如何修复

javascript - 用react.js类编写的BMI计算器需要在提交按钮上单击两次才能改变一些this.state值

javascript - 如何在 react 功能组件中使用动画 svg?

gulp - 带有 markdown 和 nunjucks 的 gulp 工作流程

javascript - 使用 toJson 和不使用它进行测试

reactjs - 当我尝试从开 Jest 测试中收集覆盖率时出现错误 "_genMapping.maybeAddMapping is not a function"

javascript - 不断出现受控与非受控 react 错误

image - Github 自述文件中的 float 图像

javascript - Markdown-it 不工作,在页面加载时抛出错误

android - Jest 是一个 React Native 单元测试工具吗?