Rails 5 Test Prescriptions 第10章 Unit_Testing JavaScript(新工具,learn曲線太陡峭,pass)

對Js的單元測試是一個大的題目。做者認爲Ruby的相關測試工具比Js的測試工具更靈活javascript

 

大多數Js代碼最終是關於響應用戶的行爲和改變DOM中的元素 java

 

沒有什麼javascript的知識點。前兩節用了幾個新的測試工具,和大量配置,暫時pass.webpack

 

  •  setup js Unit-tests
  • writing a Sample test
  • Tdd in Js
  • jasmine matchers
  • testing ajax calls
  • using testdouble.js
  • connecting the js to the server code

 


Setting Up JavaScript Unit Testsweb

Webpack的配置很複雜,雖然rails團隊已經作了改進,有時仍須要挖掘細節。 ajax

 

本章使用:chrome

Karma test runner: 從命令行運行,執行測試,和微博趴窗口良好兼容json

Jasmine: 一個測試的工具,做者喜歡它的syntax。webpack-dev-server

TestDouble package:工具

 

命令:加載相關的模塊: 單元測試

yarn add jasmine jasmine-core karma karma-chrome-launcher karma-jasmine karma-mocha-reporter karma-sourcemap-loader karma-webpack testdouble testdouble-jasmine --dev

解釋:

使用Yarn package manager來管理獨立的JS。使用Yarn來加載這些modules。 

--dev命令增長這些模塊到package.json中的獨立的section 。(就是說這些模塊只在development環境下使用,都是用於測試的) 標籤是"devDependencies"

  "devDependencies": {
    "jasmine": "^3.1.0", 寫代碼的庫
    "jasmine-core": "^3.1.0", 寫代碼的庫
    "karma": "^2.0.2", command-line program 
    "karma-chrome-launcher": "^2.2.0", 讓karma在Chrome中運行測試
    "karma-jasmine": "^1.1.2", 接口
    "karma-mocha-reporter": "^2.2.5",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-webpack": "^3.0.0", 讓karma使用webpack
    "testdouble": "^3.8.1", mock object package
    "testdouble-jasmine": "^0.2.1", 二者的集成。
    "webpack-dev-server": "2.11.2"
  }

再運行:

$ yarn global add karma-cli

因此模塊已經加載了。

相關文章
相關標籤/搜索