Reactjs 使用next/head与jest和react测试库测试next.js标题,给出误报

Reactjs 使用next/head与jest和react测试库测试next.js标题,给出误报,reactjs,jestjs,next.js,react-testing-library,testing-library,Reactjs,Jestjs,Next.js,React Testing Library,Testing Library,我已经开始在我的最新项目中使用Next.js,我想为这些页面实现一些测试。 我已经创建了一个\u文档文件,其中设置了我想要使用的所有元标记,包括页面的标题 <html> <InlineStylesHead /> <body> <Main /> <NextScript /> <Head> <title>testing title</title> </H

我已经开始在我的最新项目中使用Next.js,我想为这些页面实现一些测试。 我已经创建了一个
\u文档
文件,其中设置了我想要使用的所有元标记,包括页面的标题

<html>
<InlineStylesHead />

<body>
    <Main />
    <NextScript />

    <Head>
     <title>testing title</title>
    </Head>
</body>

</html>
不幸的是,它给了我误报,而无论发生什么,
expect
block都给了true。 我还尝试直接在页面上设置
标题
,不幸的是,同样的问题

你有没有用过其他技术来测试这类东西?
谢谢

expect
没有给出
true
,它只是在测试中被忽略
waitFor
由于其性质是异步的,应该等待以影响测试结果

应该是:

it('should render the title', async () => {
      ...
      await waitFor(() => {
          expect(document.title).toEqual('test title');
      });
});

问题来了,我要么得到了误报(只要尝试用任何其他名称替换“test title”,它会给你误报),要么它显示:
接收的值必须是HTMLElement或svgelElement。Received has type:string Received has value:“
您是否对
等待等待等待等待
有误报?在OP中,它不是真的假阳性,断言只是发生在测试之外(如果测试运行足够长,它可能会显示未捕获的异常)。我不确定为什么
接收的值必须是HTMLElement,或者svgelElement
可能发生在这里
toEqual
不应导致此错误,除非对其进行了修改。请提供可以重现问题的。尝试创建一个repl.it测试;)
it('should render the title', async () => {
      ...
      await waitFor(() => {
          expect(document.title).toEqual('test title');
      });
});