之前沒感覺要學(xué)啥單元測試,項目中測試都是手動測的,但也沒覺的啥,但最近看文章和招聘上也多多少少有這方面的需求,于是網(wǎng)上搜索了一下,只找到了一些文章,但介紹的都不是很詳細(xì)或者說比較復(fù)雜,滿滿的傷,雖然看懂一部分,但還是不知道有啥用,于是不了了之了。

  但是就在今天又在某本書上講啥測試,實在坐不住了,于是下定決心,一定得搞定到底什么是單元測試,在實際項目中又是如何使用的,于是就有了此文章。

 

茫茫人海只為找到你......  

  搜索:Javascript單元測試入門、javascript單元測試教程、javascript單元測試視頻教程、JS單元測試教程.......這些都是我常搜索的關(guān)鍵字。

      對于經(jīng)常干這個的,通過搜索結(jié)果馬上就能找到幾個比較適合自己的教程。

  原本打算學(xué)Qunit這個單元測試但是沒有看到比較好的入門教程,其實也是有的,只是上一次看的時候沒有看一篇介紹它在實際項目中的應(yīng)用,所以打算換一個框架搜索。這里搜到了一個叫Karma的單元測試,并且講解通俗,簡單的使用已經(jīng)會了,但可惜這篇文章也沒有講在實際開發(fā)中的應(yīng)用,只好接著找,但這次既然Karma會了一些,自然搜索換成了這個:Karma單元測試入門教程,Karma單元測試教程....

  馬上找到一篇比較詳細(xì)的,雖然前面大部分講解的比較復(fù)雜,但因為有了前面的基礎(chǔ),所以秒懂里面的意思了,里面簡單的介紹了一個例子,但這已經(jīng)足夠了。

  

  別看這小小的一段話,里面是一個不錯的學(xué)習(xí)方式:先簡單 -- 復(fù)雜 -- 項目實踐。也就是說如果你要學(xué)習(xí)a,但是a方面的資源比較少,并且難懂,不過有個和它相鄰的b和它很像,這樣的話你可以搜索b,通過學(xué)習(xí)b來掌握一些基本的概念,通過掌握這些概念再來學(xué)習(xí)a就會簡單很多。

 

  底下是個人學(xué)習(xí)記錄,不會寫的太詳細(xì),大家就不用看了,看看頂上的學(xué)習(xí)方式將好,反正感覺學(xué)編程用現(xiàn)實生活中怎么學(xué)習(xí)的,你拿到編程里面就很好了。

 

回歸到單元測試

  Karma是一個單元測試,我們先來下載它。

    1. 通過npm init初始化

      package.json

        2.通過npm下載Karma以及依賴項

      npm install -g karma karma-jasmine karma-chrome-launcher

    3.創(chuàng)建 karma 配置文件

      karma init

 

 

編寫測試demo.js

describe('隨便寫,就是看你看看是哪里來的', function(){
  it('就是給你看看具體哪出來的 1', function(){
    expect(true).toBe(true);
  });

  it(&#