【问题标题】:How to remove the double quotes?如何去掉双引号?
【发布时间】:2019-04-23 22:00:41
【问题描述】:

我正在尝试传递

"HO_1,HO_2"

来自黄瓜特征文件。

我正在尝试将该值传递给 Chai 包含调用,因此它需要采用以下格式:

"HO_1", "HO_2"

我目前正在使用拆分和连接来创建格式:

const splitE = (('"'+(eventTag.split(",")).join('", "')+'"'));

还有这个console.logs:

"HO_1", "HO_2"

但是当我尝试将 splitE 传递给 chai 调用时:

expect(estring).to.include(splitE);

它试图将变量作为字符串传递,并且它被传递为

expect(estring).to.include(""HO_1", "HO_2"");

它不起作用,我如何删除我通过的引号?

【问题讨论】:

    标签: javascript arrays node.js string chai


    【解决方案1】:

    实际上,Chai 框架尚不支持您尝试执行的操作,因为 .include() method 仅接受一个 value,因此您的两个 values 都将被视为一个 @ 987654328@.

    你可以做的是使用.satisfy() method,同时检查substrings

    expect(estring).to.satisfy(estring =>
      eventTag.split(",").some(b => estring.includes(b))
    );
    

    您可以在 Github 中查看 Check that string contains multiple other strings 公开问题以获取更多详细信息。

    【讨论】:

    • Chai 要求输入是带引号和逗号分隔的列表,"a","b" 所以我需要保留引号,而不是传递给函数的双引号
    • @Karl 在这种情况下,您需要更改代码以匹配substrings,例如,您可以使用.satisfy(),我更新了我的答案,但这种情况有一个缺点。
    【解决方案2】:

    只有slice all,但引号呢?

    expect(estring).to.include(splitE.slice(1, -1));
    

    【讨论】:

      猜你喜欢
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2013-10-31
      • 1970-01-01
      • 2011-03-06
      • 2019-06-13
      • 1970-01-01
      相关资源
      最近更新 更多