Обновления тестового файла не видны машинописным шрифтом / webpack / jest - PullRequest
0 голосов
/ 04 октября 2018

Я только недавно понял, что первый запуск, который делает webpack, обеспечит компиляцию моих тестовых файлов машинописи.Никаких изменений после этого не видно.Я пытался переместить файл, изменить его имя и т. Д. У меня всегда возникает одна и та же проблема.Я предполагаю, что это проблема с моим tsloader, но тест /\.tsx?$/ довольно прост.

Вот моя структура каталогов:

|~front/
| |~app/
| | |~ItineraryBuilder/
| | | |~__test__/
| | | | `-index.spec.tsx
| | | `-index.tsx
| | |+reducers/
| | |-index.tsx
| | `-setupEnzyme.ts
| `-index.html
|-.gitignore
|-index.js
|-jest.config.js
|-package.json
|-tsconfig.json
|-tslint.json
|-webpack.config.js

tsconfig.json

{
    "compilerOptions": {
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "es6",
        "jsx": "react"
    },
    "include": [
        "./front/app/**/*"
    ]
}

webpack.config.js "^ 4.0.0-alpha.3"

const webpack = require('webpack');
const path    = require('path');

const APP_DIR   = path.resolve(__dirname, 'front/app');

const config = {
  entry: APP_DIR + '/index.tsx',
  output: {
    path: path.resolve(__dirname, 'front/assets/js/'),
    filename: 'bundle.js'
  },
  devtool: 'source-map',
  resolve: {
    alias: { frontapp: path.resolve(__dirname, 'front/app') },
    extensions: ['.js', '.jsx', '.ts', '.tsx']
  },
  module: {
    rules: [
      { test: /\.css$/, loader: 'style-loader'},
      {
        test: /\.tsx?$/,
        loader: 'ts-loader'
      },

      { enforce: "pre", test: /\.js$/, loader: 'source-map-loader' },
      { enforce: "pre", test: /\.tsx?$/, loader: 'tslint-loader' },
      {
        test: /\.css$/,
        loader: 'css-loader',
        query: {
          modules: true,
          localIdentName: '[name]__[local]___[hash:base64:5]'
        }
      }
    ]
  },
};

module.exports = config;

Редактировать

Хорошо, я уверен, что это недоразумениев моей части.Я не думаю, что webpack должен создавать мои тестовые файлы.Но я положил их в обычный каталог проектов.Может быть, это ошибка в веб-пакете.По какой-то причине я подумал, что webpack также проверил файлы для тестов, но это не так.Предполагается, что Jest создаст файлы с помощью babel-jest или ts-jest, а затем все файлы не-js будут извлечены с помощью moduleNameMapper.

При этом я не уверен, почему webpack не видит обновления в каталогах __test__, но я начинаю думать, что мне следует просто исключить их из пути сборки.

Другое Редактирование

Я закончил тем, что добавил paths раздел в свой tsconfig, и теперь jest запускает тесты правильно.

Соответствующий tsconfigКонфигурация .js

{
    "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "frontapp/*": ["front/app/*"]
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...