【问题标题】:Multiple expect declorations with the same expected output具有相同预期输出的多个预期声明
【发布时间】:2015-07-02 18:51:32
【问题描述】:

我正在测试下面的函数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")

这样的东西存在吗?

【问题讨论】:

    标签: javascript unit-testing testing mocha.js chai


    【解决方案1】:

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

    _.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")
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2019-07-17
      • 2021-02-09
      相关资源
      最近更新 更多