成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【Jasmine】行為驅(qū)動(dòng)測(cè)試框架 -- 擴(kuò)展教程

Rocko / 2392人閱讀

摘要:只測(cè)試指定測(cè)試套件同一層級(jí)中出現(xiàn)兩個(gè)測(cè)試將忽略同理,同一層級(jí)出現(xiàn)和,將會(huì)忽略案例忽略該測(cè)試忽略該測(cè)試忽略該測(cè)試自定義比較函數(shù)覆蓋比較函數(shù)在聲明周期使用,返回或,如果返回或則表示使用默認(rèn)的進(jìn)行比較自定義匹配規(guī)則在聲明周期使用加入自定義匹配規(guī)則

focus spec

只測(cè)試指定測(cè)試套件, 同一層級(jí)中出現(xiàn) it, fit 兩個(gè)測(cè)試 spec, 將忽略 it, 同理,同一層級(jí)出現(xiàn) describefdescribe,將會(huì)忽略desribe

案例
describe("Focused specs", function() {
  
  
  fit("is focused and will run", function() {
    expect(true).toBeTruthy();
  });

  // 忽略該測(cè)試 spec
  it("is not focused and will not run", function(){
    expect(true).toBeFalsy();
  });
  
  fdescribe("focused describe", function(){
    it("will run", function(){
      expect(true).toBeTruthy();
    });

    it("will also run", function(){
      expect(true).toBeTruthy();
    });
  });
  
  fdescribe("another focused describe", function(){
    // 忽略該測(cè)試
    fit("is focused and will run", function() {
      expect(true).toBeTruthy();
    });

    it("is not focused and will not run", function(){
      expect(true).toBeFalsy();
    });
   });
  
  // 忽略該測(cè)試
  describe("ignore describe", function () {
    fit("is focused and will run", function() {
      expect(true).toBeTruthy();
    });
  })
});
custom equality

自定義比較函數(shù), 覆蓋 toEqual 比較函數(shù). 在beforeEach聲明周期使用 jasmine.addCustomEqualityTester, 返回truefalse, 如果返回 undefinednull. 則表示使用默認(rèn)的toEqual進(jìn)行比較

describe("test suite", function () {
    beforeEach(function() {
      jasmine.addCustomEqualityTester(function (actual, expected) {
        var actualType = typeof actual
        if (actualType === "string" && actualType === typeof expected) {
          return actual[0] === expected[0]
        }
      });
    });
    
    it("should be custom equal", function () {
     expect("aa").toEqual("ab");
    });
});
custom matchers

自定義匹配規(guī)則, 在beforeEach聲明周期使用 jasmine.addMatchers 加入自定義匹配規(guī)則. 比 custom equality
更完善, 可以自定義錯(cuò)誤信息.

beforeEach(function () {
  jasmine.addMatchers({

    // TO BE LIKE
    toBeLike: function (util, customEqualityTesters) {

      return {
        // 匹配規(guī)則
        // 參數(shù) actual 實(shí)際傳入值
        // 參數(shù) expected 期待值
        compare: function (actual, expected) {
          var pass = false;
          var message = "";
          var actualType = typeof actual;
          var expectedType = typeof expected;
          if (actual === expected) {
            pass = true;
          } else if (actual === null) {
            pass = expected === null || expected === undefined;
          } else if (actualType === expectedType) {
            pass = true;
            if (actualType === "object") {
              for (name in actual) {
                if (actual[name] === null || actual[name] === undefined) {
                  pass = expected === null || expected === undefined;
                } else if (typeof actual[name] !== typeof expected[name]) {
                  pass = false;
                }
                if (!pass) {
                  break;
                }
              }
            }
          }
          if (pass) {
            message = "Expected " + actual + " to be like"
          } else {
            message = "Expected " + actual + " not to be like"
          }
          return {
            pass: pass,
            message: message
          };
        } // end compare
      }; 
    } // end toBeLike function
  });
});

使用方式

describe("to be like suite", () => {
  
  function noop () {}
  function noop2 () {}

  it("assert to be like", function () {

    expect("f").toBeLike("a");
    expect(null).toBeLike(undefined);

    expect({
      msg: "first msg",
      cb: noop
    }).toBeLike({
      msg: "second msg",
      cb: noop2
    });
  });

  it("assert no to be like", function () {
    expect(1).not.toBeLike("1");
    expect(noop).not.toBeLike();
  });
});
相關(guān)文章推薦

Jasmine基礎(chǔ)教程

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85175.html

相關(guān)文章

  • Jasmine行為驅(qū)動(dòng)測(cè)試框架 -- 擴(kuò)展教程

    摘要:只測(cè)試指定測(cè)試套件同一層級(jí)中出現(xiàn)兩個(gè)測(cè)試將忽略同理,同一層級(jí)出現(xiàn)和,將會(huì)忽略案例忽略該測(cè)試忽略該測(cè)試忽略該測(cè)試自定義比較函數(shù)覆蓋比較函數(shù)在聲明周期使用,返回或,如果返回或則表示使用默認(rèn)的進(jìn)行比較自定義匹配規(guī)則在聲明周期使用加入自定義匹配規(guī)則 focus spec 只測(cè)試指定測(cè)試套件, 同一層級(jí)中出現(xiàn) it, fit 兩個(gè)測(cè)試 spec, 將忽略 it, 同理,同一層級(jí)出現(xiàn) descri...

    張率功 評(píng)論0 收藏0
  • Jasmine行為驅(qū)動(dòng)測(cè)試框架 基礎(chǔ)教程

    摘要:介紹是基于測(cè)試框架行為驅(qū)動(dòng)測(cè)試的定義它是通過用自然語言書寫非程序員可讀的測(cè)試用例擴(kuò)展了測(cè)試驅(qū)動(dòng)開發(fā)方法行為驅(qū)動(dòng)開發(fā)人員使用混合了領(lǐng)域中統(tǒng)一的語言的母語語言來描述他們的代碼的目的函數(shù)包含兩個(gè)參數(shù)一個(gè)測(cè)試套件的名稱實(shí)現(xiàn)測(cè)試套件的代碼塊函數(shù)定義 介紹 Jasmine 是基于 BBD (behavior-driven development)測(cè)試框架 行為驅(qū)動(dòng)測(cè)試的定義:它是通過用自然語言書寫...

    JowayYoung 評(píng)論0 收藏0
  • 譯:你該使用什么單元測(cè)試,Qunit、Jasmine還是Mocha?

    摘要:不論你是在寫瀏覽器端還是后端的,總存在那么一個(gè)問題我該使用什么單元測(cè)試庫去確保我的代碼如預(yù)期的運(yùn)行呢總是有那么一些流行的框架可供選擇。在中仍然流行,并且擁有來自許多地方性的支持。如果你的測(cè)試使用它,直到調(diào)用了才能通過。 不論你是在寫瀏覽器端javascript還是后端的nodejs,總存在那么一個(gè)問題:我該使用什么單元測(cè)試庫去確保我的代碼如預(yù)期的運(yùn)行呢?總是有那么一些流行的框架可供選擇...

    Forelax 評(píng)論0 收藏0
  • 前端進(jìn)階之路: 前端架構(gòu)設(shè)計(jì)(3) - 測(cè)試核心

    摘要:而測(cè)試驅(qū)動(dòng)開發(fā)技術(shù)并不只是單純的測(cè)試工作。需求向來就是軟件開發(fā)過程中感覺最不好明確描述易變的東西。這里說的需求不只是指用戶的需求,還包括對(duì)代碼 可能很多人和我一樣, 首次聽到前端架構(gòu)這個(gè)詞, 第一反應(yīng)是: 前端還有架構(gòu)這一說呢? 在后端開發(fā)領(lǐng)域, 系統(tǒng)規(guī)劃和可擴(kuò)展性非常關(guān)鍵, 因此架構(gòu)師備受重視, 早在開發(fā)工作啟動(dòng)之前, 他們就被邀請(qǐng)加入到項(xiàng)目中, 而且他們會(huì)跟客戶討論即將建成的平臺(tái)的...

    Karuru 評(píng)論0 收藏0
  • 前端進(jìn)階之路: 前端架構(gòu)設(shè)計(jì)(3) - 測(cè)試核心

    摘要:而測(cè)試驅(qū)動(dòng)開發(fā)技術(shù)并不只是單純的測(cè)試工作。需求向來就是軟件開發(fā)過程中感覺最不好明確描述易變的東西。這里說的需求不只是指用戶的需求,還包括對(duì)代碼 可能很多人和我一樣, 首次聽到前端架構(gòu)這個(gè)詞, 第一反應(yīng)是: 前端還有架構(gòu)這一說呢? 在后端開發(fā)領(lǐng)域, 系統(tǒng)規(guī)劃和可擴(kuò)展性非常關(guān)鍵, 因此架構(gòu)師備受重視, 早在開發(fā)工作啟動(dòng)之前, 他們就被邀請(qǐng)加入到項(xiàng)目中, 而且他們會(huì)跟客戶討論即將建成的平臺(tái)的...

    宋華 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<