練習 - 安裝套件

已完成

Tailwind Traders 小組正計劃開發數個 Node.js應用程式。 他們在 npm 登錄中找到 Jest 這個熱門的零設定測試架構。 他們希望您能安裝 Jest、撰寫一些測試,然後執行它們來評估其有效性。

使用 npm CLI 新增測試套件

您有一些可從字串擷取位址的程式碼。 您的工作很簡單: 安裝測試架構、撰寫一些測試,並加以執行。

  1. 在新的終端機視窗中 (Ctrl + Shift + `),變更為具有此練習檔案的資料夾:

    cd node-dependencies/5-exercise-dependency
    
  2. 檢視資料夾的內容:

    ls -R
    

    在此資料夾中,您應該會看到兩個 JavaScript 檔案:

    -| address-parser.js
    -| package.json
    
  3. 開啟 address-parser.js 檔案。 其看起來應該像下列檔案:

     exports.addressParser = function parseOrder(order) {
       const match = order.match(/order:\s(?<order>\w+\s\w+).*address:\s(?<address>\w+\s\w+\s\w+).*payment info:\s(?<payment>\w+)/)
       return match.groups;
     }
    

    此函式會接受字串,並剖析客戶的訂單內容、應在何處交付,以及如何付款的相關資訊。 我們將新增 Jest 並為該函式撰寫一些測試。

  4. 關閉 address-parser.js 檔案。

  5. 執行下列命令來安裝 Jest 套件:

    npm install jest --save-dev
    
  6. 安裝 Jest 套件之後,開啟 package.json 檔案並尋找 devDependencies 區段。 您應該會看到類似此範例的項目,其中 jest 屬性的值是語意版本號碼:

    "devDependencies": {
       "jest": "<number.number.number>"
     }
    
  7. 在 package.json 檔案中,找出 scripts 區段。 將現有的 test 動作項目取代為下列程式碼:

    "test": "jest"
    
  8. 儲存變更並關閉 package.json 檔案。

  9. 在終端機中,建立名為 __tests__ 的新子資料夾。

    mkdir __tests__
    

    注意

    建立 __tests__ 資料夾時,請務必使用雙底線。 測試資料夾是 Jest 測試架構所使用的命名慣例。 Jest 會自動辨識測試資料夾中的任何檔案(或名稱中含有 .test 或 .spec 的檔案) 作為測試檔案,並在執行測試時包含它們。 此慣例有助於保持專案中的測試文件井然有序且易於識別。

  10. 在 __tests__ 資料夾中,建立名為 address-parser.spec.js 的檔案,然後將下列內容新增至該檔案:

     const { addressParser } = require('../address-parser');
    
     describe('Address Parser', () => {
         test('should parse correctly', () => {
             expect(addressParser("I want to to order: 3 books to address: 112 street city here is my payment info: cardnumber")
             ).toEqual({
                 order: "3 books",
                 address: "112 street city",
                 payment: "cardnumber",
             });
         });
     });
    

    測試指令碼:

    • 檢查 address-parser.js 函式的剖析能力。
    • 確保函式可以正確剖析出所需的資訊。
  11. 儲存變更並關閉該檔案。

  12. 您的專案結構現在看起來應該像下列範例:

    -| package.json
    -| address-parser.js
    -| __tests__/
    ---| address-parser.js
    
  13. 在終端中輸入下列命令以執行測試:

    npm run test
    

    您應該會取得下列輸出:

      PASS  __tests__/address-parser.js
       Address parser
         ✓ should parse correctly (2 ms)
    
     Test Suites: 1 passed, 1 total
     Tests:       1 passed, 1 total
     Snapshots:   0 total
     Time:        0.4 s
     Ran all test suites.
    

    成功! 您的測試通過,而且您已透過安裝相依性新增了測試。

恭喜! 您已成功安裝了 Jest 做為相依性、撰寫了應用程式碼的測試,以及執行了測試。 Jest 似乎如期實現,而 Tailwind Traders 可能會對此評估感到滿意。