开玩笑,如何比较两个不同格式的字符串?

时间:2018-07-31 04:29:11

标签: javascript jestjs

我使用Jest编写单元测试。

这是测试输出:

expect(string).toContain(value)

Expected string:
  "      input CreateBookInput {
        title: String
        author: String!
      }
      input UpdateBookInput {
        title: String
        author: String
      }
    "
To contain value:
  "
      input CreateBookInput {
        title: String
        author: String!
      }
      input UpdateBookInput {
        title: String
        author: String
      }
    "

该测试失败。尽管这两个字符串的内容相同,但是格式器却不同。

我希望此单元测试通过。我该怎么办?

1 个答案:

答案 0 :(得分:1)

也许您的函数的返回值是这样的:

const expectValue = `
  input CreateBookInput {
    title: String
    author: String!
  }
  input UpdateBookInput {
    title: String
    author: String
  }
`;

但是对于单元测试,我们想忽略字符串的格式化程序。办法是删除字符串的所有空格,以便可以将它们与内容进行比较。

expect(actualValue.replace(/\s/g, '')).toEqual(expectValue.replace(/\s/g, ''));