Jest: Jest 16 (und tatsächlich auch Jest 15) führt den Relay-Integrationstest nicht richtig durch, aber Jest 14 macht ihn richtig

Erstellt am 8. Okt. 2016  ·  3Kommentare  ·  Quelle: facebook/jest

Möchten Sie ein _Feature_ anfordern oder einen _Bug_ melden?

Ein Käfer.

Wie ist das aktuelle Verhalten?

Der Test, der wissentlich fehlschlägt, wird von Jest 16 als bestanden gemeldet. Jest 14 besteht den Test korrekterweise nicht.

Hier ist die Ausgabe von Jest 16 (siehe die Ausgabe für Jest 14 unten):

$ npm test

> @ test /Users/macbook/Documents/work/jest-relay-integration-test
> jest

 PASS  __tests__/Me-test-int.js
 PASS  __tests__/SignIn-test.js

Test Suites: 2 passed, 2 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        9.316s
Ran all test suites.

Wenn das aktuelle Verhalten ein Fehler ist, geben Sie bitte die Schritte zum Reproduzieren und wenn möglich ein minimales Repository auf GitHub an, das wir npm install und npm test .

Hier ist das Repo für das Repro.

https://github.com/GrigoryPtashko/jest-relay-integration-test

Meisterzweig mit Scherz 16

jest14 zweig mit scherz 14

Klonen Sie es einfach, installieren Sie npm und Sie werden alles selbst sehen. Verwenden Sie Verzweigungen, um zwischen den Jest-Versionen zu wechseln.

Was ist das erwartete Verhalten?

Das erwartete Verhalten - der Test im Repro muss fehlschlagen. Weil es ein fehlgeschlagener Relay-Integrationstest ist.
Hier ist die korrekte Ausgabe von Jest 14:

$ npm test

> @ test /Users/macbook/Documents/work/jest-relay-integration-test
> jest

Using Jest CLI v14.1.0, jasmine2
 PASS  __tests__/SignIn-test.js (3.062s)
 FAIL  __tests__/Me-test-int.js (4.405s)
● Me › it can make request to /q anyway
  - Expected 'ROLE_ANONYMOUS' to equal 'ROLE_ANONYMOUS_AAA'.
        at AppRoot.render (__tests__/Me-test-int.js:39:61)
        at _combinedTickCallback (internal/process/next_tick.js:67:7)
        at process._tickCallback (internal/process/next_tick.js:98:9)
1 test failed, 1 test passed (2 total in 2 test suites, run time 6.087s)
npm ERR! Test failed.  See above for more details.

Führen Sie Jest erneut mit --debug und geben Sie die vollständige Konfiguration an, die es ausdruckt.

$ npm --version
3.10.7
$ node --version
v6.3.0
$ ./node_modules/.bin/jest --debug
jest version = 16.0.1
test framework = jasmine2
config = {
  "scriptPreprocessor": "/Users/macbook/Documents/work/jest-relay-integration-test/jestPreprocessor.js",
  "moduleNameMapper": [
    [
      "^.+\\.(scss)$",
      "/Users/macbook/Documents/work/jest-relay-integration-test/src/styleMock.js"
    ]
  ],
  "rootDir": "/Users/macbook/Documents/work/jest-relay-integration-test",
  "name": "-Users-macbook-Documents-work-jest-relay-integration-test",
  "setupFiles": [],
  "testRunner": "/Users/macbook/Documents/work/jest-relay-integration-test/node_modules/jest-jasmine2/build/index.js",
  "automock": false,
  "bail": false,
  "browser": false,
  "cacheDirectory": "/var/folders/cs/dzn14j_s1ns7bqbtb5_3w72c0000gn/T/jest",
  "clearMocks": false,
  "coveragePathIgnorePatterns": [
    "/node_modules/"
  ],
  "coverageReporters": [
    "json",
    "text",
    "lcov",
    "clover"
  ],
  "globals": {},
  "haste": {
    "providesModuleNodeModules": []
  },
  "mocksPattern": "__mocks__",
  "moduleDirectories": [
    "node_modules"
  ],
  "moduleFileExtensions": [
    "js",
    "json",
    "jsx",
    "node"
  ],
  "modulePathIgnorePatterns": [],
  "noStackTrace": false,
  "notify": false,
  "preset": null,
  "preprocessorIgnorePatterns": [
    "/node_modules/"
  ],
  "resetModules": false,
  "testEnvironment": "jest-environment-jsdom",
  "testPathDirs": [
    "/Users/macbook/Documents/work/jest-relay-integration-test"
  ],
  "testPathIgnorePatterns": [
    "/node_modules/"
  ],
  "testRegex": "(/__tests__/.*|\\.(test|spec))\\.jsx?$",
  "testURL": "about:blank",
  "timers": "real",
  "useStderr": false,
  "verbose": null,
  "watch": false,
  "cache": true,
  "watchman": true,
  "testcheckOptions": {
    "times": 100,
    "maxSize": 200
  }
}
 PASS  __tests__/SignIn-test.js
 PASS  __tests__/Me-test-int.js

Test Suites: 2 passed, 2 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        4.587s, estimated 5s
Ran all test suites.

Hilfreichster Kommentar

@cpojer könntest du dir das mal anschauen? Ich möchte wirklich von 14 auf 16 aktualisieren, aber ich weiß nicht wie...

Alle 3 Kommentare

@cpojer könntest du dir das mal anschauen? Ich möchte wirklich von 14 auf 16 aktualisieren, aber ich weiß nicht wie...

Ich habe eine funktionierende Version mit dem neuesten Jest hier: https://github.com/sibelius/relay-integration-test

finde es nach dieser Ausgabe heraus: https://github.com/facebook/jest/issues/2071

Für zukünftige Forscher sind hier meine 5 Cent. Dank @sibelius habe ich es mit dem neuesten Jest zum Laufen gebracht und hier ist es https://github.com/GrigoryPtashko/jest-relay-integration-test.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen