首页 > 解决方案 > 如何比较两个字符串,其中一个带有反引号

问题描述

我正在为我的组件编写测试并尝试比较两行。但是,我的代码中的行用反引号括起来,因此,测试比较了带空格的行和不带空格的行,结果不相等。如果我使用连接,那么一切正常。如何比较测试中的两条线?我有一个用正则表达式删除空格的想法,但这个想法对我来说似乎并不成功

      code 
      ...
    func test () => {
    return `${ a }
            ${ b } 
            ${ c }`
    }

      test
    ...
    resultingString = 'abc'

    expect(component.test()).toEqual(resultingString);

但如果我使用

 code
...
return a + b + c

它正在测试中。

标签: javascriptjasmine

解决方案


似乎您正在发明不需要存在的问题。正如评论中所解释的,您返回的字符串包含无关的空格和换行符,这就是它不匹配的原因。所以,好消息!测试正在完成它的工作并确定您的实施中的问题。

只需这样做:

func test () => {
    const a = (expression for a);
    const b = (expression for b);
    const c = (expression for c);

    return a + b + c;
}

推荐阅读