成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

【Karma】多環(huán)境自動(dòng)測(cè)試框架 -- 基礎(chǔ)教程

BaronZhang / 1104人閱讀

摘要:介紹前身,創(chuàng)建出來(lái)的以下是官網(wǎng)對(duì)的相關(guān)特點(diǎn)介紹支持真實(shí)瀏覽器無(wú)瀏覽器熱更新,文件變化后自動(dòng)測(cè)試測(cè)試框架無(wú)關(guān)性支持開(kāi)源易測(cè)試持續(xù)集成安裝配置配置項(xiàng)自動(dòng)監(jiān)控更新如果為相對(duì)路徑,則加上作為前綴配合運(yùn)行瀏覽器如果瀏覽器在指定時(shí)間

介紹

前身 Testacular, AngularJs Team 創(chuàng)建出來(lái)的. 以下是官網(wǎng)對(duì)Karma的相關(guān)特點(diǎn)介紹

支持真實(shí)瀏覽器, 無(wú)瀏覽器PhantomJS

熱更新,文件變化后自動(dòng)測(cè)試

測(cè)試框架無(wú)關(guān)性 支持(Jasmine, Mocha, QUnit)

開(kāi)源

易測(cè)試

持續(xù)集成

安裝
npm install -g karma
or 
npm install -D karma
配置
karma init
or
karma init karma.conf.js
配置項(xiàng)

-- autoWatch 自動(dòng)監(jiān)控更新
-- basePath 如果 basePath 為相對(duì)路徑, 則加上 __dirname作為前綴, 配合files
-- browsers 運(yùn)行瀏覽器 ["Chrome", "Firefox"]
-- captureTimeout 如果瀏覽器在指定時(shí)間內(nèi)監(jiān)控失敗,karma將會(huì)刪殺死進(jìn)程并重啟, 如果重試3次都失敗,則放棄啟動(dòng)
-- colors 輸出是否輸出顏色
-- exclude 忽略加載的文件列表
-- files 瀏覽器訪問(wèn)的文件列表
-- hostname 主機(jī)名
-- logLevel 日志等級(jí) LOG_DISABLE, LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DEBUG
-- loggers 日志輸出
-- port 端口號(hào)
-- preprocessors 預(yù)處理
-- proxies 代理配置
-- reportSlowerThan 運(yùn)行慢時(shí)間標(biāo)準(zhǔn), 0 表示不開(kāi)啟
-- reporters
-- runnerPort karma run 端口
-- singleRun 是否逐個(gè)運(yùn)行瀏覽器
-- urlRoot
-- jsVersion firexfox 瀏覽器支持

files 配置介紹
{
  files: [
    {pattern: "test/unit/*.js", watched: true, include: true, served: true},
    {pattern: "src/**/*.js", included: false},
    "test/test-main.js"
  ]
}

-- pattern 匹配的模式, 使用 minimatch庫(kù)匹配
-- watched 是否監(jiān)控文件變化
-- included 是否直接script引入
-- served 文件是否部署在 karma 的 web服務(wù)上
-- nocache 默認(rèn)為 false,表示開(kāi)啟緩存

啟動(dòng)
karma start

如果使用 karma start 啟動(dòng)了服務(wù), 但沒(méi)通過(guò)監(jiān)聽(tīng)文件變化自動(dòng)運(yùn)行測(cè)試腳本, 可以手動(dòng)執(zhí)行karma run測(cè)試.

瀏覽器配置
{
    browsers: ["Chrome", "Firefox"]
}

注意: 大多數(shù)瀏覽器啟動(dòng)需要安裝插件

# Install the launcher first with NPM:
$ npm install karma-xxx-launcher --save-dev
配置啟動(dòng)插件
{
  plugins: [
    "karma-chrome-launcher",
    "karma-firefox-launcher"
  ]
}
設(shè)置瀏覽器啟動(dòng)路徑
# Changing the path to the Chrome binary
$ export CHROME_BIN=/usr/local/bin/my-chrome-build

# Changing the path to the Chrome Canary binary
$ export CHROME_CANARY_BIN=/usr/local/bin/my-chrome-build

# Changing the path to the PhantomJs binary
$ export PHANTOMJS_BIN=$HOME/local/bin/phantomjs
Coverage 代碼覆蓋率

激活代碼覆蓋率報(bào)告

{
    reporters: ["coverage"],
    preprocessors: {
      // source files, that you wanna generate coverage for
      // do not include tests or libraries
      // (these files will be instrumented by Istanbul)
      "src/**/*.js": ["coverage"]
    },

    coverageReporter: {
      type: "html",
      dir: "coverage/"
    }
}
代碼覆蓋率配置

type

html

lcov (lcov + html)

lcovonly

text

text-summary

cobertura

dir
輸出文件夾位置

file
typetext 或者 text-summary 時(shí), file 有效, 生成指定文件

Preprocessors 預(yù)處理插件

代碼預(yù)處理,可以使用 es6, ts 編寫js, 通過(guò) babelts解釋器 進(jìn)行轉(zhuǎn)換.

常見(jiàn)的預(yù)處理插件,karma-coverage, karma-webpack

基于webpack的預(yù)處理配置
{
  files: [
    "./index.js"
  ],
  preprocessors: {
    "./index.js": ["webpack", "sourcemap"]
  },
  webpack: webpackConfig, // webpack 配置
  webpackMiddleware: {
    noInfo: true
  },
  plugins: [
    "karma-jasmine",
    "karma-mocha-reporter",
    "karma-sourcemap-loader",
    "karma-webpack"  // 前提要求 webpack已經(jīng)包含
  ]
}

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/88432.html

相關(guān)文章

  • Javascript CI篇(2)- Karma 基礎(chǔ)學(xué)習(xí)

    摘要:核心功能就是啟動(dòng)一個(gè)服務(wù)并監(jiān)聽(tīng)項(xiàng)目文件改變,文件改變后再刷新服務(wù)器。 Karma 簡(jiǎn)介 Karma是Testacular的新名字,在2012年google開(kāi)源了Testacular,2013年Testacular改名為Karma。Karma是一個(gè)讓人感到非常神秘的名字,表示佛教中的緣分,因果報(bào)應(yīng),比Cassandra這種名字更讓人猜不透! Karma是一個(gè)基于Node.js的JavaS...

    Ku_Andrew 評(píng)論0 收藏0
  • Karma】為開(kāi)發(fā)者提供一個(gè)測(cè)試環(huán)境工具 -- 基礎(chǔ)教程

    摘要:介紹本質(zhì)上是一個(gè)批量啟動(dòng)瀏覽器運(yùn)行測(cè)試源碼的工具運(yùn)行的結(jié)果以命令行的方式返回測(cè)試結(jié)果是否通過(guò)還是不通過(guò)監(jiān)聽(tīng)所有文件包括配置文件的變化一旦文件發(fā)生變化則發(fā)送信號(hào)給正在測(cè)試的服務(wù)然后通知瀏覽器,監(jiān)聽(tīng)頁(yè)面的的將會(huì)被刷新運(yùn)行,并將運(yùn)行結(jié)果發(fā)送給服務(wù) 介紹 Karma Karma本質(zhì)上是一個(gè)批量啟動(dòng)web瀏覽器運(yùn)行測(cè)試源碼的工具. 運(yùn)行的結(jié)果以 command line 命令行的方式返回 測(cè)試結(jié)...

    zhongmeizhi 評(píng)論0 收藏0
  • 聊一聊前端自動(dòng)測(cè)試

    摘要:在真正寫了一段時(shí)間的基礎(chǔ)組件和基礎(chǔ)工具后,才發(fā)現(xiàn)自動(dòng)化測(cè)試有很多好處。有了自動(dòng)化測(cè)試,開(kāi)發(fā)者會(huì)更加信任自己的代碼。由于維護(hù)測(cè)試用例也是一大筆開(kāi)銷畢竟沒(méi)有多少測(cè)試會(huì)專門幫前端寫業(yè)務(wù)測(cè)試用例,而前端使用的流程自動(dòng)化工具更是沒(méi)有測(cè)試參與了。 本文轉(zhuǎn)載自 天貓前端博客,更多精彩文章請(qǐng)進(jìn)入天貓前端博客查看 前言 為何要測(cè)試 以前不喜歡寫測(cè)試,主要是覺(jué)得編寫和維護(hù)測(cè)試用例非常的浪費(fèi)時(shí)間。在真正寫了...

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

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

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

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

0條評(píng)論

閱讀需要支付1元查看
<