我正在开发一个react应用程序,在那里我创建了三个新组件。我使用React测试库和Jest。在此之前,它工作得很好,但是我的新组件似乎没有将任何html文本呈现给快照,即使测试通过了。我以前写过几个Jest快照测试,并尝试做同样的事情来验证UI对输入的React是否正确。
我创建了三个新组件。他们都有快照不包含HTML的问题。
创建快照并执行expect(fragment).toMatchSnapshot()传递。但是,快照几乎为空。一个示例输出在这里;// Jest Snapshot v1,link_to_docs
exports[ FunctionDescription TestStatement
] = [Function]
;
因此,我应该有一个HTML树,而不是[Function]
。
我已经尝试删除我的snapshot文件夹并重新生成.snap文件,但它们最终以相同的方式结束。
测试看起来像这样;
describe('ProsenttrekkSkattetrekk', () => {
it('Rendrer korrekt', () => {
const { asFragment } = renderWithTranslations(
<ProsenttrekkSkattetrekk
oppdaterInntektsInfo={jest.fn()}
oppdaterTypeTrekk={jest.fn()}
skattetrekk={{ prosent: undefined, type: 'prosenttrekk' }}
prosenttrekkBelop={10}
/>
);
expect(asFragment).toMatchSnapshot();
});
});
renderWithRouterAndTranslations方法基本上纠正了URL段,并在render中返回了路由器中 Package 的组件,并且我们已经使用了几次而没有这个问题。
1条答案
按热度按时间hivapdat1#
-> expect(asFragment).toMatchSnapshot(); asFragment是一个函数。执行asFragment()可解决快照中缺少的html