Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jest matchers检查字符串中不可用的给定特殊字符集_Javascript_Node.js_Jestjs - Fatal编程技术网

Javascript Jest matchers检查字符串中不可用的给定特殊字符集

Javascript Jest matchers检查字符串中不可用的给定特殊字符集,javascript,node.js,jestjs,Javascript,Node.js,Jestjs,我试图验证一个字符串,其中我必须检查不允许的特殊字符。如果它包含不允许的特殊字符,测试用例应该失败。我尝试了matcher,但它只接受一个参数。我有许多不允许使用的特殊字符(例如:['@',''''','!'])。是否有任何jest matcher,我可以在其中传递数组并检查数组元素是否在字符串中不可用 匹配器 expect(element[keys]).toEqual(expect.not.stringContaining('@')); 您可以使用regex实现它 sampleRegex=/

我试图验证一个字符串,其中我必须检查不允许的特殊字符。如果它包含不允许的特殊字符,测试用例应该失败。我尝试了matcher,但它只接受一个参数。我有许多不允许使用的特殊字符(例如:['@',''''','!'])。是否有任何jest matcher,我可以在其中传递数组并检查数组元素是否在字符串中不可用

匹配器

expect(element[keys]).toEqual(expect.not.stringContaining('@'));

您可以使用regex实现它

sampleRegex=/[`~@$%^}[\]{|<>]/
expect('sampleString').toEqual(expect.not.stringMatching(sampleRegex));
samplegex=/[`~@$%^}[\]{124;]/
expect('sampleString').toEqual(expect.not.stringMatching(sampleRegex));

expect('samlestring')。not.stringMatching(samplegex)
您可以提供一些示例吗?很抱歉,我无法提供示例,因为我正在处理数据库。但在连续运行时,您的匹配程序不稳定。您可以在这里参考官方文档@skyboyer我还有一个疑问,即在同一匹配程序中匹配最小和最大长度,而不是使用expect(元素[keys].length)。ToBegregateThanorEqual(值.min);expect(element[keys].length).tobelessthan或equal(values.max);