Jest - нет результатов теста - PullRequest
0 голосов
/ 15 января 2020

У меня были проблемы с Jest с тех пор, как я пытался начать использовать его. Никаких тестов, которые я пытаюсь запустить, и с какими опциями я пытаюсь пройти Jest, я никогда не получаю результаты «Pass» / «Fail» в консоли.

Jest всегда просто выводит «Done»

При использовании «Nuxt CLI» существует тест по умолчанию, записанный как:

import { mount } from '@vue/test-utils'
import Logo from '@/components/Logo.vue'

describe('Logo', () => {
  test('is a Vue instance', () => {
    const wrapper = mount(Logo)
    expect(wrapper.isVueInstance()).toBeTruthy()
  })
})

Пока я пробовал:

yarn test
yarn test --verbose
yarn test --watch
yarn test --watchAll
yarn test --no-watchmen

Каждый раз результат выглядит следующим образом:

yarn run v1.21.1
$ jest
Done in 0.72s.

Текущий jest.config. js:

module.exports = {
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/$1',
    '^~/(.*)$': '<rootDir>/$1',
    '^vue$': 'vue/dist/vue.common.js'
  },
  moduleFileExtensions: ['js', 'vue', 'json'],
  transform: {
    '^.+\\.js$': 'babel-jest',
    '.*\\.(vue)$': 'vue-jest'
  },
  collectCoverage: true,
  collectCoverageFrom: [
    '<rootDir>/components/**/*.vue',
    '<rootDir>/pages/**/*.vue'
  ]
}

Похоже, что это конфигурация по умолчанию для Nuxt.

Любая помощь будет оценена

Ответы [ 2 ]

1 голос
/ 15 января 2020

Итак, я понял (вроде).

Мои тесты работают нормально со следующим:

yarn test --no-watchman

Я не могу понять, почему сторож вызывает у меня так много проблемы, но это, кажется, помогает.

Подробнее: https://github.com/facebook/jest/issues/2219

0 голосов
/ 15 января 2020

Jest ищет файлы, заканчивающиеся .spec.js или .test.js форматами файлов. Попробуйте поместить тест в файл, заканчивающийся файлом .spec.js или .test.js. Также вы можете настроить jest, используя jest.config.js файл.

Одним из примеров использования jest.config.js файла является

const path = require('path')

module.exports = {
    rootDir: path.resolve(__dirname),
    moduleFileExtensions: [
        'js',
        'json',
        'vue',
        'ts'
    ],
    moduleNameMapper: {
        '^@/(.*)$': '<rootDir>/src/$1'
    },
    transform: {
        ".*\\.(vue)$": "<rootDir>/node_modules/vue-jest",
        "^.+\\.(js|jsx)?$": "<rootDir>/node_modules/babel-jest",
        "^.+\\.ts$": "<rootDir>/node_modules/ts-jest"
    },
    testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
    snapshotSerializers: [
        "jest-serializer-vue"
    ],
    testEnvironment: "jsdom",
    setupFiles: [
        "<rootDir>/globals.js"
    ]
}

...