如何编写用于创建唯一ID的单元测试?

时间:2019-03-19 01:24:02

标签: javascript mocha

这是我到目前为止所拥有的。但是我不知道编写测试来确保它工作正常。

const uniqid = require('uniqid');

module.exports = ({ name }) => {
  return context => {
    // Generate a uniqid and add it user
    context.data['id'] = uniqid(name).toUpperCase();
    return context;
  };
};

我正在使用eslint和摩卡咖啡

1 个答案:

答案 0 :(得分:1)

我假设您要测试context接收到适当的id,这是一个大写的String,以name开头,后跟18个字符{{1 }}或数字。

我不知道您使用的是什么测试框架,但是您可以使用Regular Expression来验证A-Z

id

编辑:由于您使用的是// ignore this, just require the 'uniqid' module const uniqid = str => `${str}4n5pxq24kpiob12og9`; const addId = ({name}) => { return context => { // Generate a uniqid and add it user context.data['id'] = uniqid(name).toUpperCase(); return context; }; }; // addId should add an appropriate id to `user.data.id` const {data: {id}} = addId({name: 'Annie'})({data: {}}); console.assert(/^ANNIE[A-Z\d]{18}$/.test(id));,因此您还可以添加mocha并使用其match方法,如下所示:

chai