2015-11-11 3 views
2

Я пытаюсь выполнить модульное тестирование. Модифицируйте диалог 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 в качестве первого аргумента.

Может ли кто-нибудь сказать мне, что не так?

ответ

5

Оформить заказ, как само реагирование на реакцию самонастраивается для этого. модаль визуализируется в другое поддерево, которое является тем, как оно передается в тело документа, а не непосредственно как дочерний элемент его родителя. другими словами, ваш srcying терпит неудачу, потому что компонент не находится в этом дереве компонентов.

вы можете использовать refs на модальном или искать узлы DOM непосредственно в документе.

+0

Я проверил это: https://github.com/react-bootstrap/react-bootstrap/blob/master/test/ModalSpec.js. Является ли он документированным где-либо, как он работает внутри страны? На данный момент я тестирую узлы DOM напрямую. – cosmosb

+0

См. Https://stackoverflow.com/questions/45644244/content-of-react-modal-dialogs-is-not-available-to-enzyme-tests-using-mount?noredirect1_comment78247979_45644244 для альтернативного подхода, основанный на поиске узлов DOM в документе. –

Смежные вопросы