Я пытаюсь выполнить модульное тестирование. Модифицируйте диалог Bootstrap с помощью Jasmine. Но он работает не так, как ожидалось.Тестирование модуля Реагирование Модифицированное диалоговое окно Bootstrap
Вот jsfiddle соединение, используя последние версии React React, Bootstrap, жасмин .: http://jsfiddle.net/30qmcLyf/3/
теста, который терпит неудачу:
линия # 27-28
// This test fails. Find DOM Node.
var instanceDomNode = ReactDOM.findDOMNode(instance);
expect(instanceDomNode).not.toBe(null);
линия # 39-40
//This test fails. Find modal header.
var headerComponents = TestUtils.scryRenderedComponentsWithType(component, ReactBootstrap.Modal.Header);
expect(headerComponents.length).not.toBe(0);
Также, что не так с линией # 35-36. Если я раскомментирую строки, я получаю сообщение об ошибке в комментариях.
// Error: Did not find exactly one match for componentType:function ModalHeader()...
//var headerComponent = TestUtils.findRenderedComponentWithType(component, ReactBootstrap.Modal.Header);
//expect(headerComponent).not.toBe(null);
Согласно последней официальной документации для тестирования утилита (link), вы должны пройти ReactComponent в качестве первого аргумента.
Может ли кто-нибудь сказать мне, что не так?
Я проверил это: https://github.com/react-bootstrap/react-bootstrap/blob/master/test/ModalSpec.js. Является ли он документированным где-либо, как он работает внутри страны? На данный момент я тестирую узлы DOM напрямую. – cosmosb
См. Https://stackoverflow.com/questions/45644244/content-of-react-modal-dialogs-is-not-available-to-enzyme-tests-using-mount?noredirect1_comment78247979_45644244 для альтернативного подхода, основанный на поиске узлов DOM в документе. –