Gibt es eine Option, um alle Testbeschreibungen anzuzeigen, wenn ich Scherztests durchführe?

74

Ich verwende Scherz und Enzym für mein Projekt zum Erstellen, Reagieren und Appieren. Beim Ausführen npm testwird eine Ausgabe angezeigt, in der die Namen der bestandenen Testdateien angezeigt werden. Ich möchte jedoch, dass die Ausgabe auch die Namen der Tests enthält.

Beispiel:

Button.test.js

it ('renders button', () => {
    const button = shallow(<Button type="save"/>);
    expect(toJson(button)).toMatchSnapshot();
});

Im Moment, wenn ich npm test starte, ist die Ausgabe nur:

PASS src / Button.test.js "

und die Anzahl der bestandenen und fehlgeschlagenen Tests (wenn die Tests erfolgreich sind). Ich möchte, dass die Ausgabe "Render-Schaltfläche" und andere Testbeschreibungen enthält (z. B. wie die Ausgabe aussieht, wenn ein rspec-Test ausgeführt wird).

Sendai
quelle

Antworten:

128

Aus den Befehlszeilenoptionen von Jest

--verbose

Zeigen Sie einzelne Testergebnisse mit der Hierarchie der Testsuite an.

Also rennen

jest --verbose

Druckt alle Namen in describe, it, testBlöcke.
Wenn Sie Tests mit yarnausführen, können Sie dies tun

yarn test --verbose

Wenn Sie Tests mit npmausführen, können Sie dies tun

npm test -- --verbose

Wenn Sie diese Standardeinstellung festlegen möchten, ändern Sie Ihr Testskript in package.json

"test": "react-scripts test --env=jsdom --verbose",

Jetzt beide yarn testund npm testsollten alle Testnamen anzeigen.

Sudo Bangbang
quelle
16

Die --verboseFlagge klingt so, als würde sie das tun, wonach Sie suchen. Gemäß den Dokumenten werden einzelne Testergebnisse angezeigt.

Steve Vaughan
quelle
1
Ich habe versucht, dies zu verwenden und die Ausgabe scheint nicht anders zu sein
Sendai
Was ist der Inhalt Ihres npm-Skripts und Ihrer Scherzkonfiguration?
Steve Vaughan
5
@Sendai Denken Sie daran, zwei Bindestriche hinzuzufügen, um von npmArgumenten zu jestArgumenten zu gelangen - wie folgt : npm test -- --verbose. (Andernfalls geht das --verboseArgument zu npmund Sie sehen npmeher eine ausführliche jestAusgabe als eine ausführliche Ausgabe.)
mindplay.dk
12

Beachten Sie, dass anstelle von

jest --verbose

Sie können auch festlegen , verboseum trueinjest.config.js :

// jest.config.js
module.exports = {
  ...
  verbose: true,
}
Dansalias
quelle
Das Hinzufügen zu jest.config.js ist die einzige Möglichkeit, dies zu tun, wenn Sie vue cli 4 verwenden und npm run test:unit
ausführen
7

Ich hatte das gleiche Problem mit der testCreate-React -App (sowohl mit Scherz als auch mit Enzym), konnte jedoch die Tests anzeigen , nachdem das vorhandene Skript in package.json mit angehängt wurde --verbose=true. So erscheint es jetzt"test": "react-scripts test --env=jsdom --verbose=true"

Yamakage2077
quelle
1

Nachdem Sie diese Konfiguration in package.json ( "test": "react-scripts test --env=jsdom --verbose",) vorgenommen haben, versuchen Sie, Ihren Test mit auszuführen npm test.

Hinweis: Mit npm run spiegelt sich die Testbeschreibung auch für mich nicht wider.

prwinkmr
quelle