Запустите пух и тесты отдельно внутри шутки - PullRequest
0 голосов
/ 08 мая 2018

Мы используем jest-runner-eslint для запуска нашей конфигурации eslint, а затем также используем jest для наших обычных тестов. Согласно предложению в документации , у нас есть наши обычные тесты, и наши тесты lint настроены как два отдельных проекта в «поле проектов» нашей конфигурации.

К сожалению, я не вижу, как запускать тесты lint и «настоящие» тесты по отдельности. Запуск jest с ошибками --projects flag, поскольку предполагается, что наш проект - monorepo, и мы пытаемся запустить тесты внутри папки monorepo.

Пример:

$ yarn test --projects lint
yarn run v1.6.0
$ node scripts/test.js --env=jsdom --projects lint
Error: Can't find a root directory while resolving a config file path.
Provided path to resolve: lint

Обратите внимание, что мы можем нормально запускать наши тесты вместе, но эти два набора не могут быть запущены отдельно.

Наш Jest-конфиг (свободно основанный на create-реагировать-приложение)

{
    "projects": [
      {
        "displayName": "test",
        "collectCoverage": true,
        "coverageDirectory": "<rootDir>/coverage",
        "collectCoverageFrom": [
          "src/**/*.{js,jsx,mjs}"
        ],
        "coverageReporters": [
          "text-summary",
          "lcov",
          "json"
        ],
        "setupTestFrameworkScriptFile": "<rootDir>/src/setupTests.js",
        "setupFiles": [
          "<rootDir>/config/polyfills.js",
          "<rootDir>/src/setupTest.js"
        ],
        "snapshotSerializers": [
          "enzyme-to-json/serializer"
        ],
        "testMatch": [
          "<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
          "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
        ],
        "testEnvironment": "node",
        "testURL": "http://localhost",
        "transform": {
          "^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
          "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
          "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
        },
        "transformIgnorePatterns": [
          "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
        ],
        "moduleNameMapper": {
          "^react-native$": "react-native-web"
        },
        "moduleFileExtensions": [
          "web.js",
          "mjs",
          "js",
          "json",
          "web.jsx",
          "jsx",
          "node"
        ]
      },
      {
        "runner": "jest-runner-eslint",
        "displayName": "lint",
        "testMatch": [
          "<rootDir>/src/**/*.js"
        ]
      }
    ]
}

Различные версии:

  • ОС: macOS Sierra 10.12 (хотя я также видел это в Ubuntu 16)
  • Узел: v8.11.1
  • Шутка: 22.4.3
  • шутник-бегун-эслинт: 0,5,0
...