目前我正在做这个
getByText(/SomeText/i);
但是我想创建一个函数,并通过先将文本存储在变量中来传递一些文本作为参数。我试着这样做:
let x = "/SomeText/i"; getByText(x);
或
getByText(`/${x}/i`);
但这些选择都不管用。
ee7vknir1#
如果你有
const x = "Some string"
要使用正则表达式测试x,
x
getByText(new RegExp(x, "i"))
lyfkaqu12#
您正在寻找的页面不存在。
// Match a substring of Hello World getByText(container, 'llo Worl', { exact: false }) // substring match
您也可以传递自己的匹配自定义函数。
getByText(container, (content, element) => content.startsWith('Hello'))
https://testing-library.com/docs/dom-testing-library/cheatsheet#text-match-options
hts6caw33#
欢迎来到SO!我还没有测试过这个,但是看起来getByText需要一个正则表达式:
作为参数,而不是像这里所说的字符串:
let x = "/SomeText/i";
如果你从字符串中创建一个正则表达式,你的代码能工作吗?
let x = new RegExp("/SomeText/i");
hgc7kmma4#
我认为你的问题是你试图设置一个RegEx,就好像它是一个字符串
// Doesn't need quotes let x = /SomeText/i getByText(x)
您要求getByText查找的内容实际上是/SomeText/i,我想您的文档中没有这个内容
getByText
f1tvaqid5#
我有一个类似的场景,我需要一个变量:
const x = 'some text'; getByText(`${x}`);
5条答案
按热度按时间ee7vknir1#
如果你有
要使用正则表达式测试
x
,lyfkaqu12#
您正在寻找的页面不存在。
您也可以传递自己的匹配自定义函数。
https://testing-library.com/docs/dom-testing-library/cheatsheet#text-match-options
hts6caw33#
欢迎来到SO!
我还没有测试过这个,但是看起来getByText需要一个正则表达式:
作为参数,而不是像这里所说的字符串:
如果你从字符串中创建一个正则表达式,你的代码能工作吗?
hgc7kmma4#
我认为你的问题是你试图设置一个RegEx,就好像它是一个字符串
您要求
getByText
查找的内容实际上是/SomeText/i,我想您的文档中没有这个内容f1tvaqid5#
我有一个类似的场景,我需要一个变量: