我试图使用jest +酶为反应成分创建单元测试:
it('renders the problem view without crashing', () => {
// TODO: tell the test fixure that the current URL is /problems
const wrapper = shallow(<App />);
// ... check that the problem view is actually rendered...
});
根据URL(后缀),App组件应呈现不同的页面(使用react-router v4)。 我不知道如何将URL注入测试夹具:
非常感谢任何指向正确方向的指示!
编辑1:这篇文章(How to test react-router with enzyme)的答案建议编写一种白盒单元测试,其中检索Router对象及其URL-&gt;组件检查映射表的正确性。 但是,我想编写一个黑盒单元测试:给定正确的环境(即URL),被测组件应该呈现正确的东西,而不管使用哪个客户端路由库。
编辑2: Jest配置参数testURL看起来几乎就像我需要的那样,但似乎无法在测试中设置它。来自this question的答案提供了一些提示,但我没有找到任何关于在测试中将自定义jsdom对象注入Jest官方Jest文档中的任何内容。