我使用create-react-app创建了一个react应用程序,它已经生成了一个反应应用程序的准系统,它非常好!我现在想要更改页面的标题(在index.html中),然后测试它。我正在使用酶来测试单个组件,这也很好,但它只提供了从组件生成的html。如何测试页面/ dom,特别是页面标题?
it('renders App', () => {
const wrapper = mount(<App />);
const title = 'test'
console.log(global.window.document.title)
expect(wrapper.contains(title)).toEqual(true);
});
global.window.document.title为空
答案 0 :(得分:1)
您可以在render()
或componentDidMount()
中的component / App.js内部将标题设置为
document.title = 'titlename'
然后在expect(global.window.document.title).toBe('titlename')
处检查标题。为我工作!
尝试使用react-helmet
。然后使用
wrapper.find(Helmet).prop("title")).toEqual('titlename');