99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Jest 從安裝開始

2021-09-23 20:02 更新

使用 ?yarn? 安裝 Jest︰

  1. yarn add --dev jest

或使用 ?npm? 安裝 Jest:

  1. npm install --save-dev jest

注:Jest的文檔統(tǒng)一使用?yarn?命令,不過使用?npm?也是可行的。 你可以在yarn的說明文檔里看到?yarn與?npm?之間的對比。

讓我們開始為一個假設函數(shù)編寫測試,該函數(shù)將兩個數(shù)字相加。 首先,創(chuàng)建一個?sum.js ?文件:

  1. function sum(a, b) {
  2. return a + b;
  3. }
  4. module.exports = sum;

然后,創(chuàng)建一個名為? sum.test.js? 的文件。 這將包含我們的實際測試:

  1. const sum = require('./sum');
  2. test('adds 1 + 2 to equal 3', () => {
  3. expect(sum(1, 2)).toBe(3);
  4. });

將下面的配置部分添加到你的? package.json? 里面:

  1. {
  2. "scripts": {
  3. "test": "jest"
  4. }
  5. }

最后,運行? yarn test? 或 ?npm run test? ,Jest將打印下面這個消息:

  1. PASS ./sum.test.js
  2. ? adds 1 + 2 to equal 3 (5ms)

如此一來,你就成功地寫出第一個Jest測試 !

此測試使用 ?expect ?和 ?toBe ?來測試兩個值完全相同。 若要了解Jest關于測試方面更多的能力,請參閱使用適配器。

在命令行運行

你可以通過命令行直接運行?Jest?(前提是?jest?已經處于你的環(huán)境變量 ?PATH?中,例如通過 ?yarn global add jest? 或 ?npm install jest --global?安裝的?Jest?) ,并為其指定各種有用的配置項。

這里演示了如何對能匹配到 ?my-test? 的文件運行 ?Jest?、使用?config.json ?作為一個配置文件,并在運行完成后顯示一個原生的操作系統(tǒng)通知。

  1. jest my-test --notify --config=config.json

如果你想要了解更多關于通過命令行來運行 ?jest ?的內容,請繼續(xù)閱讀 Jest CLI 選項 頁面。

更多配置

生成一個基礎配置文件

基于你的項目,Jest將會提出幾個問題,并將創(chuàng)建一個基本的配置文件,每個選項都有一個簡短的說明:

  1. jest --init

使用 Babel

如果需要使用 Babel,可以通過 ?yarn?來安裝所需的依賴。

  1. yarn add --dev babel-jest @babel/core @babel/preset-env

可以在工程的根目錄下創(chuàng)建一個?babel.config.js?文件用于配置與你當前Node版本兼容的Babel:

  1. // babel.config.js
  2. module.exports = {
  3. presets: [
  4. [
  5. '@babel/preset-env',
  6. {
  7. targets: {
  8. node: 'current',
  9. },
  10. },
  11. ],
  12. ],
  13. };

Babel的配置取決于具體的項目使用場景 ,可以查閱 Babel官方文檔來獲取更多詳細的信息。

使 Babel 配置具有 jest-aware

如果沒有設置為其他內容,Jest 將設置?process.env.NODE_ENV?為?'test'?。你可以在配置中使用它來有條件地僅設置 Jest 所需的編譯,例如

  1. // babel.config.js
  2. module.exports = api => {
  3. const isTest = api.env('test');
  4. // You can use isTest to determine what presets and plugins to use.
  5. return {
  6. // ...
  7. };
  8. };
注意:當你安裝 Jest 時,?babel-jest? 是會被自動安裝的,并且如果你的項目下存在一個 Babel 配置文件時,它將會自動對相關文件進行轉義。 如果要避免這個行為,你可以顯式的重置 ?transform? 配置項:
  1. // jest.config.js
  2. module.exports = {
  3. transform: {},
  4. };

Babel 6 支持

Jest 24 放棄了對 Babel 6 的支持。我們強烈建議大家升級到 Babel 7,它得到了積極維護。但是,如果你無法升級到 Babel 7,請繼續(xù)使用 Jest 23 或升級到 Jest 24 并?babel-jest?鎖定版本 23,如下例所示:

  1. "dependencies": {
  2. "babel-core": "^6.26.3",
  3. "babel-jest": "^23.6.0",
  4. "babel-preset-env": "^1.7.0",
  5. "jest": "^24.0.0"
  6. }

雖然我們通常建議使用每個 Jest 包的相同版本,但此解決方法將允許你現(xiàn)在繼續(xù)使用最新版本的 Jest 和 Babel 6。

使用 webpack

Jest 可以用于使用 webpack 來管理資源、 樣式和編譯的項目中。 webpack 與其他工具相比多了一些獨特的挑戰(zhàn)。 參考 webpack 指南 來開始起步。

使用 parcel

Jest 可用于使用parcel bundler管理資產、樣式和編譯(類似于webpack)的項目中。包裹需要零配置。請參考官方文檔開始。

使用 TypeScript

Jest 通過 Babel 支持 TypeScript。首先,請確保你遵循了上面使用 Babel 的說明。接下來,通過?yarn?安裝?@babel/preset-typescript?:

  1. yarn add --dev @babel/preset-typescript

然后添加?@babel/preset-typescript?到你的???babel.config.js?.??

  1. // babel.config.js
  2. module.exports = {
  3. presets: [
  4. ['@babel/preset-env', {targets: {node: 'current'}}],
  5. + '@babel/preset-typescript',
  6. ],
  7. };

不過,在配合使用TypeScript與Babel時,仍然有一些注意事項 。 因為 Babel 對 TypeScript 的支持是 transpilation,Jest 不會在運行時對你的測試進行類型檢查。 如果你想實現(xiàn)這個功能,你可以使用 ?ts-jest?。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號