【发布时间】:2018-09-13 20:58:09
【问题描述】:
我在 Mocha JS 中编写 API 测试,有两个文件:00_auth.js 和 utils.js 我想在 utils 中创建可在同一文件夹中的其他文件中使用的函数
utils.js
utils = {
randomStringGenerator: function (){
return Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7);
}
};
并测试js
const chai = require('chai');
const mocha = require('mocha');
const config = require('../config');
const request = require('supertest')(url);
const assert = chai.assert;
const utils= require('./utils')
randomFirstName=utils.randomStringGenerator();
//randomLastName=stringGenerator();
randomMail=randomFirstName+'@'+randomLastName+'.pl';
auth_token = ''
describe('0_auth', () => {
it('should return token for unauthorized user', function(done) {
request
.post('/rest/v1/auth/get-token')
.set(config.headers)
.send({
"deviceUuidSource": "DEVICE",
"source" : "KIOSK",
"deviceUuid" : "uniquedeviceuuid"
})
.end(function(err,res){
assert.equal(res.status,200)
assert.property(res.body, 'token')
assert.isString(res.body.token)
auth_token=res.body.token
console.log('unathorized token: '+auth_token)
done(err);
});
});
});
我从Global functions in javascript 获取了这个解决方案,但它不起作用,给我类型错误:utils.randomStringGenerator is not a function
【问题讨论】:
-
您需要使用
module.exports导出它 -
由于你使用
require,你仍然需要从模块中正确导出 -
"在同一文件夹的其他文件中可用" - 然后只需将其导入到每个文件中。不要使用全局变量!
标签: javascript function