Jest-тест не дает сбоя при ошибке при рендеринге - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь исправить какой-то модульный тест, который проходит независимо от того, что происходит при рендеринге.

import React from 'react';
import Component from './Component';

describe('Basic component tests', () => {
  it('renders nothing on initial load', () => {
    const component = shallow(<Component/>);

    expect(component.exists()).toBe(false);
  });
});

Проблема в том, что когда я запускаю этот тест, я получаю сообщение об ошибке в console.error, но тест проходит независимо. Как я могу проверить, произошел ли рендеринг без ошибок, и провалить тест, если ошибка произошла?

Пример вывода:

Debugger listening on ws://127.0.0.1:44345/7a8a35fb-7e19-4d92-8dc0-ea274fa1646c
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
  console.error src/components/universal/Component.js:91
    TypeError: Cannot read property 'includes' of undefined
        at includes (/home/frozendragon/code/application/src/components/universal/Component.js:412:45)
        at Array.filter (<anonymous>)
        at Component.filter [as getPackagesByIds] (/home/frozendragon/code/application/src/components/universal/Component.js:412:29)
        at Component.getPackagesByIds (/home/frozendragon/code/application/src/components/universal/Component.js:86:36)
        at tryCatch (/home/frozendragon/code/application/node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:45:40)
        at Generator.invoke [as _invoke] (/home/frozendragon/code/application/node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:271:22)
        at Generator.prototype.(anonymous function) [as next] (/home/frozendragon/code/application/node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:97:21)
        at asyncGeneratorStep (/home/frozendragon/code/application/src/components/universal/Component.js:4176:103)
        at _next (/home/frozendragon/code/application/src/components/universal/Component.js:4178:194)

------------------|----------|----------|----------|----------|-------------------|
File              |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
------------------|----------|----------|----------|----------|-------------------|
All files         |    33.57 |       15 |    35.48 |    34.38 |                   |
 Component.js     |    33.57 |       15 |    35.48 |    34.38 |... 65,566,569,574 |
------------------|----------|----------|----------|----------|-------------------|

1 Ответ

0 голосов
/ 20 июня 2019

Самый простой тест - просто убедиться, что вы можете запросить определенный элемент в DOM, например,

expect(component.exists('.some-class')).to.equal(true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...