Как настроить функцию beforeEach перед тестом в Jest? - PullRequest
0 голосов
/ 01 июля 2018

Я использую beforeEach, как это в моих тестах для компонентов React.

let component;
let configProp;

beforeEach(() => {
  component = shallow(<MyComponent config={configProp} />);
});

Теперь я хочу изменить configProp переменную в тестах. Как то так:

let component;
let configProp;

beforeEach(() => {
  component = shallow(<MyComponent config={configProp} />);
});

// runs before beforeEach for the next test
beforeNext(() => {
    const config_1 = {...};
    configProp = config_1;
});

test('config_1', () => {
  // component now has config=config_1
  expect(component.find({config: config_1}).exists());
});

Возможно ли что-то подобное? Или мы должны shallow(<MyComponent />) в каждом тесте индивидуально?

Сейчас я использую блок it, чтобы внести изменения в конфигурацию для следующей функции. Это законно? Примерно так:

it('changes configProp', () => {
    const config_1 = {...};
    configProp = config_1;
});

test('config_1', () => {
  expect(component.find({config: config_1}).exists());
});

1 Ответ

0 голосов
/ 01 июля 2018

Вы можете просто установить новую опору для компонента внутри теста:

test('config_1', () => {
  component.setProps({ config: configProp });
  ...
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...