Geben Sie das Verzeichnis der Testdateien an

Lesezeit: 3 Minuten

Benutzeravatar von Geoff
Geoff

Ich bin neu im Unit-Testing und wollte nur Dateien testen, die sich nur in einem bestimmten Verzeichnis befinden

Wie kann ich angeben, dass Tests nur für Dateien in einem bestimmten Verzeichnis ausgeführt werden sollen und andere ignorieren

also ich habe jest über npm installiert

  "jest": "^23.6.0",

Und habe meinen Testbefehl in package.json via angegeben

scripts:{
    "test": "jest --verbose"
 }

Das obige führt alle Dateien aus, aber ich möchte, dass es für Dateien in einem bestimmten Verzeichnis ausgeführt wird, z. B. nur das laratest-Verzeichnis

Wie gehe ich vor

Fügen Sie den Verzeichnisnamen als Argument hinzu

scripts:{
    "test": "jest --verbose ./my-directory"
}

  • Nur um anderen Jest-Junioren wie mir zu helfen, müssen alle Ihre Testdateien int ‘.test.js’ enden, sonst findet Jest sie nicht.

    – Alvaro Rodríguez Scelza

    7. Dezember 2020 um 21:06 Uhr

  • Dies schließt auch alle Unterverzeichnisse mit dem Namen ein my-directory.

    – Connor Clark

    1. Juli 2021 um 19:33 Uhr

Benutzeravatar von CodeDraken
CodeDraken

Fügen Sie Ihrer package.json Konfiguration hinzu.

"jest": {
  "testMatch": ["**/laratest/**/*.test.js"]
}

https://jestjs.io/docs/configuration#testmatch-arraystring

  • Dies kann auch für Skripte verwendet werden: "test:unit": "jest --testMatch '**/src/test/**/?(*.)+(spec|test).[tj]s?(x)'" (Das war mir nicht bewusst).

    – ämem

    2. Mai 2022 um 7:25 Uhr

Innerhalb ./jest.config.js Sie können eine Reihe von Verzeichnissen zum Durchsuchen hinzufügen

// A list of paths to directories that Jest should use to search for files in
roots: [
    "./",
    "../more-files/"
],

  • Dies ist, was ich brauchte, das Konfigurations-Snippet, das hinzugefügt werden soll jest.config.js Wenn Sie dies als Antwort auf eine Frage speziell zur Konfiguration posten möchten jest.config.js Ich poste eine Frage und schicke sie dir.

    – Kent Bull

    16. Juni 2021 um 22:41 Uhr

  • Ja, es gibt Ihnen mehr Kontrolle über den Standort. Sicher.

    – ow3n

    17. Juni 2021 um 16:45 Uhr

Dieser Artikel

https://bambielli.com/til/2018-09-09-moving-jest-config-out-of-root/

schlägt vor, so etwas in Ihrer config.js-Datei zu tun, und ich zitiere den Artikel:

// jest.conf from inside `config/` directory
{
  rootDir: '../',
  globalSetup: {...},
}

Benutzeravatar von Erik Erikson
Erik Eriksson

[edit: as noted in other answers, the root tests directory can be an argument (e.g. jest ... laratest), as of the original writing, this didn’t work]

Ergänzen Sie die --rootdir Option zu Ihrem Befehl:

jest --verbose --rootDir=laratest

Oder in Skripten:

scripts:{
    "test": "jest --verbose --rootDir=laratest"
 }

Wie von @Dimitri angemerkt, wird laratest als Ort für die Konfiguration und nicht nur für Tests behandelt. Fügen Sie in diesem Fall einfach das Argument hinzu.

  • Nicht so gut zu empfehlen, es sei denn, Sie möchten Ihre Konfiguration auf den neuesten Stand bringen

    – Dimitri Kopriwa

    27. Oktober 2022 um 7:21 Uhr

Benutzeravatar von Connor Clark
Connor Clark

Sie müssen genau sein, um zu vermeiden, dass andere Verzeichnisse mit demselben Namen ausgeführt werden. Dies führt beispielsweise nur den Test in aus clients:

yarn jest "$PWD/clients"

aber dies führt Tests in jedem Ordner mit dem Namen aus clients:

yarn jest clients
# also: yarn jest ./clients

  • Nicht so gut zu empfehlen, es sei denn, Sie möchten Ihre Konfiguration auf den neuesten Stand bringen

    – Dimitri Kopriwa

    27. Oktober 2022 um 7:21 Uhr

Benutzeravatar von King Friday
König Freitag

Mac-Lösung (nicht unter Windows getestet)

scripts: {
  ...,
  "test": "export NODE_ENV=development && jest"
}

Nach jest Dokumente, die NODE_ENV wird eingestellt test wenn es schon nicht gesetzt ist. Wenn Sie also export es… es wird durchgehen zu jest.

1438530cookie-checkGeben Sie das Verzeichnis der Testdateien an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy