Я тестирую реактивный компонент, на котором есть 5 ссылок. Каждая ссылка активируется на основе текущего маршрута. Я использую Метеор с Мантрой и ферментом для тестирования этих компонентов.Как передать контекст FlowRouter при тестировании Реагирующие компоненты
Footer компонент:
import React from 'react';
class Footer extends React.Component{
render(){
let route = FlowRouter.current().route.name;
return(
<a className={route == 'hub page' ? 'some-class active' : 'some-class'}> . . . (x5)
)
}
}
Тестирование
describe {shallow} from 'enzyme';
import Footer from '../core/components/footer';
describe('footer',() => {
it('should have 5 links',() => {
const fooWrapper = shallow(<Footer/>);
expect(fooWrapper.find('a')).to.have.length(5);
})
})
Но когда я бегу npm test
, он говорит, что FlowRouter is not defined.
Как передать контекст FlowRouter к среагировать компонента в тестировании? Заранее спасибо
Благодарим вас за ответ. Однако я столкнулся с ошибкой. В нем говорится, что 'не может найти модуль meteor/kadira: flow-router' @Waiski – Cyval
@Cyval Запустили ли вы 'meteor add kadira: flow-router'? – Waiski
да, у меня есть. но он не работает, когда я использую 'import' @Waiski – Cyval