具有相同预期输出的多个期望声明

Multiple expect declorations with the same expected output

我正在下面测试函数 shopify.formatRequestUrl,每次我都希望函数的输出是相同的。有什么办法可以让它更干吗?

expect(shopify.formatRequestUrl("shop"))
  .equal("https://"+settings.shop+"/admin/shop.json")

expect(shopify.formatRequestUrl("/shop"))
  .equal("https://"+settings.shop+"/admin/shop.json")

expect(shopify.formatRequestUrl("/shop/"))
  .equal("https://"+settings.shop+"/admin/shop.json")

expect(shopify.formatRequestUrl("shop.json"))
  .equal("https://"+settings.shop+"/admin/shop.json")

expect(shopify.formatRequestUrl("/admin/shop"))
  .equal("https://"+settings.shop+"/admin/shop.json")

expect(shopify.formatRequestUrl("/admin/shop.json"))
  .equal("https://"+settings.shop+"/admin/shop.json")

类似这样的东西:伪代码

expectAll[
  shopify.formatRequestUrl("shop"),
  shopify.formatRequestUrl("/shop"),
  shopify.formatRequestUrl("/shop/"),
  shopify.formatRequestUrl("shop.json"),
  shopify.formatRequestUrl("/admin/shop"),
  shopify.formatRequestUrl("/admin/shop.json")
]
  .equal("https://"+settings.shop+"/admin/shop.json")

有这样的东西吗?

使用下划线并循环遍历所有参数的对象。

_.each([
  "shop",
  "/shop",
  "/shop/",
  "shop/",
  "shop.json",
  "/shop.json",
  "/shop.json/",
  "shop.json/",
  "/admin/shop",
  "/admin/shop/",
  "/admin/shop.json",
  "/admin/shop.json/",
  "admin/shop.json/",
], function(result){
  expect(shopify.formatRequestUrl(result))
    .equal("https://"+settings.shop+"/admin/shop.json")
})