如何仅在元素存在时对其运行Jest测试

oipij1gg  于 2022-12-08  发布在  Jest
关注(0)|答案(1)|浏览(189)

我有一个简单的Jest / React测试库行,如下所示...

expect(getByTestId('my-elem')).toHaveTextContent('hello');

在某些情况下my-elem将不存在(这是一个有效的情况),在这种情况下,我希望要么a)这个测试不运行,要么B)测试通过。
这可能吗?
我基本上想要这个,但据我所知,这是不可能的。

if (getByTestId('my-elem').exists()) {
  expect(getByTestId('my-elem')).toHaveTextContent('hello');
}

编辑:我的情况是,这个元素在某些情况下可用,而在其他情况下不可用。一个快速修复是-而不是不呈现元素,使它visible: hidden时,它应该不可用。这修复的事情。

zi8p0yeb

zi8p0yeb1#

你可以这样做。

expect(getByTestId('my-elem')).not.toBeInTheDocument();

相关问题