javascript - 如何比较两个字符串,其中一个带有反引号
问题描述
我正在为我的组件编写测试并尝试比较两行。但是,我的代码中的行用反引号括起来,因此,测试比较了带空格的行和不带空格的行,结果不相等。如果我使用连接,那么一切正常。如何比较测试中的两条线?我有一个用正则表达式删除空格的想法,但这个想法对我来说似乎并不成功
code
...
func test () => {
return `${ a }
${ b }
${ c }`
}
test
...
resultingString = 'abc'
expect(component.test()).toEqual(resultingString);
但如果我使用
code
...
return a + b + c
它正在测试中。
解决方案
似乎您正在发明不需要存在的问题。正如评论中所解释的,您返回的字符串包含无关的空格和换行符,这就是它不匹配的原因。所以,好消息!测试正在完成它的工作并确定您的实施中的问题。
只需这样做:
func test () => {
const a = (expression for a);
const b = (expression for b);
const c = (expression for c);
return a + b + c;
}
推荐阅读
- c# - 从过时的 FragmentManager 过渡到 Android.Support.V4.App
- python - 如何下载 Python 的 PolyFrag 模块?
- android - 实施指向我的应用的深层链接后,应用图标未出现
- amazon-web-services - 如何使用 .env 文件为 Springboot 应用程序使用环境变量?
- java - 我想让后台服务每 24 小时将项目添加到 RecyclerView
- sql - 如何将存储过程结果传递给变量
- python - 如何根据字典中的键值逐行向熊猫数据框添加值?
- php - 预计在运行测试时会发现类错误
- git - Git删除除一个文件外的所有文件
- css - 不遵守 Flex 框最大高度