Jest: Jest 16 (e na verdade Jest 15 também) não faz o teste de integração do Relay corretamente, mas Jest 14 o faz corretamente

Criado em 8 out. 2016  ·  3Comentários  ·  Fonte: facebook/jest

Você quer solicitar um _feature_ ou denunciar um _bug_?

Um inseto.

Qual é o comportamento atual?

O teste que falha intencionalmente é relatado por Jest 16 como aprovado. Jest 14 falha corretamente no teste.

Aqui está a saída de Jest 16 (veja a saída de Jest 14 inferior):

$ 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.

Se o comportamento atual for um bug, forneça as etapas para reproduzir e, se possível, um repositório mínimo no GitHub que possamos npm install e npm test .

Aqui está o repo para o repro.

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

ramo mestre com brincadeira 16

ramo jest14 com jest 14

Basta cloná-lo, npm install e você verá tudo sozinho. Use branches para alternar entre as versões do Jest.

Qual é o comportamento esperado?

O comportamento esperado - o teste na reprodução deve falhar. Porque é um teste de integração de relé com falha.
Aqui está a saída correta de 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.

Execute o Jest novamente com --debug e forneça a configuração completa que ele imprime.

$ 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.

Comentários muito úteis

@cpojer você poderia dar uma olhada neste aqui? Eu realmente quero atualizar para 16 de 14. Mas eu não sei como ...

Todos 3 comentários

@cpojer você poderia dar uma olhada neste aqui? Eu realmente quero atualizar para 16 de 14. Mas eu não sei como ...

Tenho uma versão funcional com o Jest mais recente aqui: https://github.com/sibelius/relay-integration-test

descobrir depois desse problema: https://github.com/facebook/jest/issues/2071

Para futuros pesquisadores, aqui estão meus 5 centavos. Graças a @sibelius, ele está funcionando com o último Jest e aqui está https://github.com/GrigoryPtashko/jest-relay-integration-test.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

jardakotesovec picture jardakotesovec  ·  3Comentários

nsand picture nsand  ·  3Comentários

samzhang111 picture samzhang111  ·  3Comentários

StephanBijzitter picture StephanBijzitter  ·  3Comentários

Secretmapper picture Secretmapper  ·  3Comentários