Терминал взлома класса перенаправления - тестирование - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь запустить тест с использованием Jest и Ezyme

Процесс редактирования является одним из состояний и перенаправляет его в другое место. Если я установлю его = true, он сломает терминал.

Я смог сделать следующее после некоторого исследования

describe("when user has permission", () => {
  beforeEach(() => {
  wrapper.setState({editWorkflow: true, selectedWorkId:true });
  wrapper.instance().history.replace('/add'); // replace the MemoryRouter location with 
  wrapper.update(); // update the wrapper with the changes
  })

it("Test click event on Workflows - Cancel/AddWork", () => {
  baseProps.onClick.mockClear();
  expect(wrapper.containsMatchingElement(<Redirect to="/add" />)).toEqual(true)
  expect(wrapper.containsMatchingElement(<Redirect to="/edit/" />)).toEqual(true)
  wrapper.find('Workflows').find('#add-work-button').at(0).simulate("click");
  wrapper.find('Workflows').find('#add-work-button').at(1).simulate("click");
  );

В данный момент терминал не ломается, но тест также не проходит.

Вот ошибка:

 expect(received).toEqual(expected)

 Expected value to equal:
   true
 Received:
   false

 expect(wrapper.containsMatchingElement(<Redirect to="/add"/>)).toEqual(true) 

Если я установил приведенное выше утверждение равным False, терминал снова обрывается

Здесь государство вызывает Redirect

{ this.state.editWorkflow ? <Redirect push to={`${this.props.location.pathname}/add`} /> : null }
{ this.state.selectedWorkId ? <Redirect push to={`${this.props.location.pathname}/edit/${this.state.selectedWorkId}`} /> : null }

Как я могу написать следующий тест и предотвратить это, используя Jest и Enzyme

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...