练习 - 安装包

已完成

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__ 文件夹时使用双下划线。 tests 文件夹是测试框架 Jest 使用的命名约定。 Jest 会自动识别 tests 文件夹中的任何文件(或名称中包含 .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 可能对此评估感到满意。