jest.config.js 怎么配置

項(xiàng)目 vue3 + quasar + jest

jest 依賴包:?

1. "@testing-library/vue": "^8.1.0",

2. "@types/jest": "^29.5.12",

3. "jest": "^29.5.0",

4. "jest-environment-jsdom": "^29.7.0",

5. "jest-junit": "^16.0.0",

6. "jest-transform-stub": "^2.0.0",

7. "ts-jest": "^29.2.4"

8. "majestic": "^1.8.1",

我的配置文件參考

/**

* For a detailed explanation regarding each configuration property, visit:

* https://jestjs.io/docs/configuration

*/

/** @type {import('jest').Config} */

const config = {

? globals: {

? ? __DEV__: true,

? ? // TODO: Remove if resolved natively

? ? // See https://github.com/vuejs/@vue/vue3-jest/issues/175

? ? // '@vue/vue3-jest': {

? ? //? pug: { doctype: 'html' }

? ? // },

? ? // Remove if using `const enums`

? ? // See https://huafu.github.io/ts-jest/user/config/isolatedModules#example

? },

? // noStackTrace: true,

? bail: 0,

? // All imported modules in your tests should be mocked automatically

? // automock: false,

? // Stop running tests after `n` failures

? // bail: 0,

? // The directory where Jest should store its cached dependency information

? // cacheDirectory: "/private/var/folders/kn/s3nhkwrn229c78lsmwvlhps80000gn/T/jest_dx",

? // Automatically clear mock calls, instances, contexts and results before every test

? // clearMocks: true,

? // Indicates whether the coverage information should be collected while executing the test

? collectCoverage: false,

? // An array of glob patterns indicating a set of files for which coverage information should be collected

? // collectCoverageFrom: undefined,

? collectCoverageFrom: ['src/pages/**/*.{js,jsx,ts,tsx,vue}'],

? // The directory where Jest should output its coverage files

? coverageDirectory: 'coverage',

? // An array of regexp pattern strings used to skip coverage collection

? coveragePathIgnorePatterns: ['/node_modules/', '.d.ts$'],

? // Indicates which provider should be used to instrument code for coverage

? coverageProvider: 'babel',

? // A list of reporter names that Jest uses when writing coverage reports

? coverageReporters: ['json', 'text', 'lcov', 'clover'],

? // An object that configures minimum threshold enforcement for coverage results

? // coverageThreshold: undefined,

? // A path to a custom dependency extractor

? // dependencyExtractor: undefined,

? // Make calling deprecated APIs throw helpful error messages

? // errorOnDeprecated: false,

? // The default configuration for fake timers

? // fakeTimers: {

? //? "enableGlobally": false

? // },

? // Force coverage collection from ignored files using an array of glob patterns

? // forceCoverageMatch: [],

? // A path to a module which exports an async function that is triggered once before all test suites

? // globalSetup: undefined,

? // A path to a module which exports an async function that is triggered once after all test suites

? // globalTeardown: undefined,

? // A set of global variables that need to be available in all test environments

? // globals: {},

? // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.

? // maxWorkers: "50%",

? // An array of directory names to be searched recursively up from the requiring module's location

? moduleDirectories: ['node_modules'],

? // An array of file extensions your modules use

? moduleFileExtensions: [

? ? 'js',

? ? 'mjs',

? ? 'cjs',

? ? 'jsx',

? ? 'ts',

? ? 'tsx',

? ? 'json',

? ? 'vue',

? ? 'node',

? ],

? // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module

? moduleNameMapper: {

? ? // '^quasar$': 'quasar/dist/quasar.esm.prod.js',

? ? '^~/(.*)$': '<rootDir>/$1',

? ? '^src/(.*)$': '<rootDir>/src/$1',

? ? '^app/(.*)$': '<rootDir>/$1',

? ? '^components/(.*)$': '<rootDir>/src/components/$1',

? ? '^layouts/(.*)$': '<rootDir>/src/layouts/$1',

? ? '^pages/(.*)$': '<rootDir>/src/pages/$1',

? ? '^assets/(.*)$': '<rootDir>/src/assets/$1',

? ? '^boot/(.*)$': '<rootDir>/src/boot/$1',

? ? '.*css$': '@quasar/quasar-app-extension-testing-unit-jest/stub.css',

? ? // '.vue$': '<rootDir>/tests/unit/empty.js',

? ? '.png$': '<rootDir>/tests/unit/empty.js',

? },

? // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader

? modulePathIgnorePatterns: ['<rootDir>/node_modules/'],

? // Activates notifications for test results

? // notify: false,

? // An enum that specifies notification mode. Requires { notify: true }

? // notifyMode: "failure-change",

? // A preset that is used as a base for Jest's configuration

? // preset: undefined,

? // Run tests from one or more projects

? // projects: undefined,

? // Use this configuration option to add custom reporters to Jest

? // reporters: undefined,

? // Automatically reset mock state before every test

? // resetMocks: false,

? // Reset the module registry before running each individual test

? // resetModules: false,

? // A path to a custom resolver

? // resolver: undefined,

? // Automatically restore mock state and implementation before every test

? // restoreMocks: false,

? // The root directory that Jest should scan for tests and modules within

? // rootDir: undefined,

? // A list of paths to directories that Jest should use to search for files in

? // roots: ['<rootDir>'],

? // Allows you to use a custom runner instead of Jest's default test runner

? // runner: "jest-runner",

? // The paths to modules that run some code to configure or set up the testing environment before each test

? // setupFiles: [],

? // A list of paths to modules that run some code to configure or set up the testing framework before each test

? // setupFilesAfterEnv: [],

? // The number of seconds after which a test is considered as slow and reported as such in the results.

? // slowTestThreshold: 5,

? // A list of paths to snapshot serializer modules Jest should use for snapshot testing

? // snapshotSerializers: [],

? // The test environment that will be used for testing

? testEnvironment: 'jsdom',

? // Options that will be passed to the testEnvironment

? // testEnvironmentOptions: {},

? // Adds a location field to test results

? // testLocationInResults: false,

? // The glob patterns Jest uses to detect test files

? testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[tj]s?(x)'],

? // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped

? testPathIgnorePatterns: ['/node_modules/'],

? // The regexp pattern or array of patterns that Jest uses to detect test files

? // testRegex: [],

? // This option allows the use of a custom results processor

? // testResultsProcessor: undefined,

? // This option allows use of a custom test runner

? // testRunner: 'jest-circus/runner',

? // A map from regular expressions to paths to transformers

? transform: {

? ? '^.+\\.(t|j)sx?$': 'ts-jest',

? ? '^.+\\.vue?$': '@vue/vue3-jest',

? ? // '^.+\\.(js|jsx)$': '<rootDir>/node_modules/babel-jest',

? ? '.+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|svg|woff2)$':

? ? ? 'jest-transform-stub',

? },

? // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation

? transformIgnorePatterns: [

? ? '<rootDir>/node_modules/(?!(lodash-es|other-es-lib|react|React|dds/Avatar))',

? ],

? // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them

? // unmockedModulePathPatterns: undefined,

? // Indicates whether each individual test should be reported during the run

? // verbose: undefined,

? // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode

? // watchPathIgnorePatterns: [],

? // Whether to use watchman for file crawling

? // watchman: true,

? // collectCoverageFrom: [

? //? '<rootDir>/tests/unit/modules/dashboard/dashboard.test.js',

? //? '<rootDir>/tests/unit/modules/login/loginIndex.test.js',

? // ],

};

module.exports = config;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剔蹋,一起剝皮案震驚了整個(gè)濱河市选侨,隨后出現(xiàn)的幾起案子古瓤,更是在濱河造成了極大的恐慌生闲,老刑警劉巖瘫镇,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汞斧,死亡現(xiàn)場(chǎng)離奇詭異瞪浸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)脖咐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)铺敌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人屁擅,你說(shuō)我怎么就攤上這事偿凭。” “怎么了派歌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵弯囊,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我胶果,道長(zhǎng)匾嘱,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任早抠,我火速辦了婚禮霎烙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己悬垃,他們只是感情好游昼,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著尝蠕,像睡著了一般烘豌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上看彼,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天廊佩,我揣著相機(jī)與錄音,去河邊找鬼靖榕。 笑死标锄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茁计。 我是一名探鬼主播鸯绿,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼簸淀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起毒返,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤租幕,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后拧簸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體劲绪,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年盆赤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贾富。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牺六,死狀恐怖颤枪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情淑际,我是刑警寧澤畏纲,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站春缕,受9級(jí)特大地震影響盗胀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜锄贼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一票灰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦屑迂、人聲如沸浸策。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)的榛。三九已至,卻和暖如春逻锐,著一層夾襖步出監(jiān)牢的瞬間夫晌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工昧诱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晓淀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓盏档,卻偏偏與公主長(zhǎng)得像凶掰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜈亩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容