Koa入门(三)—— Koa项目自动化测试

本文介绍了在Koa项目中如何进行自动化测试,包括密码加密工具的编写、测试代码的编写与执行,以及接口测试的方法。使用了 Jest 和 Supertest 测试框架,详细讲解了测试过程中的注意事项和解决Windows系统中遇到的问题。
摘要由CSDN通过智能技术生成

当我们做项目时,写完一个功能后都要进行测试,JS中测试框架一般使用:mochachai ,如果你还需要测试接口的话,可能还需要 supertest 测试框架。

安装依赖:yarn add mocha chai supertest -D

编写密码加密工具

比如我现在写个密码加密,密码验证的工具:

密码加密一般用的比较多的是:md5bcrypt,这里使用 bcrypt
yarn add bcrypt

// src/main/util/PasswordUtil.js
import bcrypt from 'bcrypt';

// 盐值
const SALT = 10;

/**
 * 加密密码(异步)
 * @param {string} pwd 要加密的密码
 * @returns {string} 加密后的密码
 */
export const encryptPasswrod = async (pwd) => {
   
  return await bcrypt.hash(pwd, SALT);
};

/**
 * 密码验证(异步)
 * @param {string} pwd 密码
 * @param {string} encryptedPwd 加密后的密码
 * @returns {boolean} 验证成功返回 true
 */
export const checkPasswrod = async (pwd, encryptedPwd) => {
   
  return await bcrypt.compare(pwd, encryptedPwd);
};


/**
 * 加密密码(同步)
 * @param {string} pwd 要加密的密码
 * @returns {string} 加密后的密码
 */
export const encryptPasswrodSync = (pwd) => {
   
  return bcrypt.hashSync(pwd, SALT);
};

/**
 * 密码验证(同步)
 * @param {string} pwd 密码
 * @param {string} encryptedPwd 加密后的密码
 * @returns {boolean} 验证成功返回 true
 */
export const checkPasswrodSync = (pwd, encryptedPwd) => {
   
  return bcrypt.compareSync(pwd, encryptedPwd);
};

编写测试代码

// src/test/util/PasswordUtil.test.js
import {
    expect } from 'chai';
import {
    encryptPasswrod, checkPasswrod, encryptPasswrodSync, checkPasswrodSync } from '@main/util/PasswordUtil'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值