簡體   English   中英

開玩笑沒有找到所有測試

[英]Jest not finding all tests

Jest 沒有找到我所有的測試文件。 它忽略了一個目錄。 當我運行 npm 運行 jest:watch 我在 ./server 中的測試及其子目錄已經過測試但在./client中沒有找到測試

我試過的

我嘗試創建一個通用測試文件並移動它。 我發現它可以在以下情況下工作。 我也嘗試過使用文件的直接路徑 - 這沒有用。

可能的原因

我認為這可能與我擁有的不尋常的目錄結構有關

./client
./server

./server.js
./other server files..
./client/...client files

或者嘗試從 node.js 應用程序運行 jest 並讓它查看客戶端目錄中的文件(其中包含一個用 React 編寫的應用程序),我可能會死 - 我不關心在反應組件上運行測試(僅模塊)。 或者,它可能與客戶端目錄中的玩笑有關。

文件名 ./服務器/中間件 ./ 。/客戶
刪除.test.js 被笑話發現 被笑話發現 未找到

我的設置

我的文件夾結構看起來像這樣

./
./client  (react client app)
./client/package.json
./client/node_modules
package.json
node.modules
./server   (node.js api app)
./server/package.json

我的笑話是從 ./package.json 文件運行的。

我嘗試過的其他事情

我嘗試對我的文件使用直接路徑,下面的代碼有效

"testMatch": ["<rootDir>/server/delete.test.js"],

但是這段代碼(在我想要的文件夾中)沒有

        "testMatch": ["<rootDir>/client/delete.test.js"],

代碼設置

./package.json

{
    "name": "Infoshot",
    "version": "0.0.4",
    "description": "Research Tool",
    "main": "cd ./server && server.js",
    "scripts": {
        "start": "cd ./server && node server.js",
        "server": "cd ./server && nodemon server.js",
        "client": "npm start --prefix ./client/",
        "clientinstall": "npm install --prefix client",
        "dev": "concurrently \"npm run server\"  \"npm run client\"",
        "heroku-postbuild": "cd ./client && NPM_CONFIG_PRODUCTION=false npm install  && CI= npm run build",
        "compile-saas": "node-sass ./client/src/scss/a_main.scss ./server/nodeClient/public/css/main.css -w",
        "test": "jest",
        "test:watch": "npm run test -- --watch"
    },
    "jest": {
        "testEnvironment": "node",
        "testPathIgnorePatterns": [
            "./node_modules"
        ]
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "dependencies": {
        "axios": "^0.21.0",
        "bcryptjs": "^2.4.3",
        "config": "^3.2.2",
        "dotenv": "^8.2.0",
        "ejs": "^3.1.5",
        "enzyme": "^3.11.0",
        "express": "^4.17.1",
        "express-validator": "^6.2.0",
        "ijavascript": "^5.2.0",
        "jest": "^26.6.3",
        "jsonwebtoken": "^8.5.1",
        "mongoose": "^5.7.0",
        "nodemailer": "^6.4.14",
        "nodemailer-sendgrid": "^1.0.3"
    },
    "devDependencies": {
        "concurrently": "^4.1.2",
        "node-sass": "^5.0.0",
        "nodemon": "^1.19.2"
    }
}

刪除.test.json

describe.only('DELETE TEST: getDocument', () => {
    test('Say Hi', async () => {
        const bum = 'bum';
        expect(bum).toBe(bum);
    });
});

./client/package.json

正如我之前所說,我不認為這是相關的,因為它沒有運行,因為我正在運行 jest from./server with npm run jest:watch

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.19.0",
    "config": "^3.3.2",
    "dotenv": "^8.2.0",
    "enzyme-adapter-react-16": "^1.15.3",
    "node-sass": "^4.14.1",
    "react": "^16.9.0",
    "react-beautiful-dnd": "^13.0.0",
    "react-dom": "^16.9.0",
    "react-router-dom": "^5.0.1",
    "react-scripts": "^3.4.4",
    "react-transition-group": "^4.3.0",
    "serve": "^11.3.2",
    "styled-components": "^5.1.1",
    "uuid": "^3.3.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "previewProd": "react-scripts build && serve"
  },
  "jest": {
    "collectCoverageFrom": [
      "src/components/documentEditor/*.js",
      "<rootDir>/server/",
      "!<rootDir>/node_modules/",
      "!<rootDir>/src/index.js",
      "!<rootDir>/src/registerServiceWorker.js"
    ]
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "proxy": "http://localhost:5000",
  "devDependencies": {
    "@testing-library/react": "^10.4.9"
  }
}

我發現如果我刪除了 ./client/package.json 中所有提到的玩笑,並將 ./package.json 替換為

    "collectCoverageFrom": [
            "**/*.{js,jsx}",
            "!**/node_modules/**"
        ]

有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM