在我的 react-native 專案中,在測驗執行期間,Jest 顯示覆寫率并創建覆寫率報告。
玩笑配置:
import type {Config} from '@jest/types';
const config: Config.InitialOptions = {
// basic params to setup test ext and env
preset: '@testing-library/react-native',
verbose: true,
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
roots: [
'<rootDir>'
],
// tests coverage
collectCoverage: true,
coverageDirectory: "__tests__/coverage",
coverageReporters: [
'lcov',
'text',
],
collectCoverageFrom: [
"**/src/**/*.{js,jsx,ts,tsx}",
"!**/src/parameters/**/*.{js,jsx,ts,tsx}",
"!**/src/types/**/*.{js,jsx,ts,tsx}",
"!**/src/navigationRoots/**/*.{js,jsx,ts,tsx}",
"!**/node_modules/**",
],
coverageThreshold: {
global: {
lines: 70,
statements: 70
}
},
// additional
testRegex: "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
transform: {
'^. \\.(js|ts|tsx)$': 'babel-jest'
},
transformIgnorePatterns: [
"node_modules/(?!(jest-)?@react-native|react-native|react-(native|universal|navigation)-(.*)"
"|@react-native-community/(.*)"
"|@react-navigation/(.*)"
"|bs-platform"
"|(@[a-zA-Z] /)?(bs|reason|rescript)-(.*) )"
],
};
export default config;
在測驗期間我收到錯誤:
Consider using the "jsdom" test environment.
ReferenceError: document is not defined
Consider using the "jsdom" test environment.
ReferenceError: window is not defined
在創建覆寫檔案夾期間生成的檔案中:
coverage/lcov-report/sorter.js
coverage/lcov-report/block-navigation.js
因此,在jest 檔案中,我們看到我們可以在檔案中指定 jsdom 環境,這會產生如下錯誤:
/**
* @jest-environment jsdom
*/
好的,但是這里我們有自動生成的檔案,而不是我的測驗檔案。我還能如何修復這些錯誤?
UPD:如果我在啟動測驗之前洗掉包含所有檔案的覆寫檔案夾,則不會出現這些錯誤。所以 Jest 會創建一切都很好。但是當我使用現有的“coverage”檔案夾啟動測驗時,更新期間顯示錯誤
uj5u.com熱心網友回復:
找到了我的問題的答案。當您將 jest 測驗檔案夾指定為將覆寫率報告放置在那里的檔案夾時,Jest 認為,該覆寫率檔案夾包含 test.on 首次啟動時,當覆寫率檔案夾不存在時,它會毫無問題地創建它,但是當您重復覆寫率命令時,jest 會嘗試測驗每個js檔案在里面。因此需要排除覆寫檔案夾作為開玩笑的測驗位置。如何做到這一點,你可以在這里找到
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/339311.html
標籤:javascript 反应原生 单元测试 测试 玩笑
上一篇:Testcafe:有沒有辦法在dom中加載目標元素后進一步停止頁面加載?
下一篇:Python包模塊未找到錯誤
