我的反应组件<script>
使用 nextJS 呈现标签Head
。当尝试使用 testing-libary 的getByTestId
方法查询元素时,我收到以下消息:
TestingLibraryElementError: Unable to find an element by: [data-testid="leadoo-experiment"]
Ignored nodes: comments, <script />, <style />
有没有办法包含script
在输出中,或者我应该使用不同的策略来验证我的脚本是否被注入?提前致谢
零件
import Head from 'next/head';
const FancyScript = ({src}) => {
if (src) {
return (
<Head>
<script
data-testid="keen-to-test"
type="text/javascript"
async
src={src}
</script>
</Head>
)
}
return null;
}
测试
import { render } from '@testing-library/react';
import FancyScript from '/fancy-location';
it('return some fancy', () => {
const { getByTestId } = render(<FancyScript src="real_src_here" />);
expect(getByTestId('keen-to-test')).toHaveAttribute('src', 'real_src_here');
});