首页 > 解决方案 > 如何在 mocha chai 中的两个 Javascript 文件之间传递变量

问题描述

我在 mocha chai 创建了两个测试文件。我想访问文件 1 中要在文件 2 中访问的变量,以便我可以在文件 2 中使用它们

文件1.js

const chai = require('chai');
const expect = chai.expect;
const addContext = require('mochawesome/addContext');
const _ = require('lodash');
const customerData = require('./data/customer.json');

let me,accessToken;

const invalidAccessToken = 'e0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0In0.eyJpYXQiOjE1NjI3NjMxNDQsIm5iZiI6MTU2Mjc2MzE0NCwiZXhwIjoxNTYzMjI1MTQ0LCJpc3MiOiJodHRwczpcL1wvam95YmlyZC5jb20iLCJhdWQiOiJodHRwczpcL1wvYXBpLXN0Zy5zdGl0Y2hpbmR1c3RyaWVzLmNvbSIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0IiwiY3VzdG9tZXJfZmlyc3RfbmFtZSI6IlRvbSIsImN1c3RvbWVyX2xhc3RfbmFtZSI6IkNydWlzZSIsImN1c3RvbWVyX2NvbXBhbnkiOm51bGwsImN1c3RvbWVyX3Bhc3N3b3JkIjoiJDJ5JDEwJHJaWm1JNDlDRVJUa0VxQkNzTG1nemVFYVhVTHh0SVVOTlwvekI5T3phcXVEMnF4UWlJbDZrLiIsImN1c3RvbWVyX2lkIjozMDM2OTAsImN1c3RvbWVyX2VtYWlsIjoidGVzdDMucGFuZGl0QGdtYWlsLmNvbSJ9.g0cdX7P34VemXT8nO5uaqKrKmSjc8caXWwS6T3Mo7Cb';


before(async() => {
    //API call 
    expect(response).to.have.property('data');
    expect(response.data).to.have.property('access-token');
    accessToken = (response.data['access-token']) ? response.data['access-token'] : '';  
});

我想在 FILE2.js 中访问这个 accessToken

标签: javascriptnode.jsunit-testingautomated-testsmocha.js

解决方案


我建议将所有辅助变量保存在一个单独的文件中:

// variables.js
module.exports = {
  invalidAccessToken: 'e0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0In0.eyJpYXQiOjE1NjI3NjMxNDQsIm5iZiI6MTU2Mjc2MzE0NCwiZXhwIjoxNTYzMjI1MTQ0LCJpc3MiOiJodHRwczpcL1wvam95YmlyZC5jb20iLCJhdWQiOiJodHRwczpcL1wvYXBpLXN0Zy5zdGl0Y2hpbmR1c3RyaWVzLmNvbSIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0IiwiY3VzdG9tZXJfZmlyc3RfbmFtZSI6IlRvbSIsImN1c3RvbWVyX2xhc3RfbmFtZSI6IkNydWlzZSIsImN1c3RvbWVyX2NvbXBhbnkiOm51bGwsImN1c3RvbWVyX3Bhc3N3b3JkIjoiJDJ5JDEwJHJaWm1JNDlDRVJUa0VxQkNzTG1nemVFYVhVTHh0SVVOTlwvekI5T3phcXVEMnF4UWlJbDZrLiIsImN1c3RvbWVyX2lkIjozMDM2OTAsImN1c3RvbWVyX2VtYWlsIjoidGVzdDMucGFuZGl0QGdtYWlsLmNvbSJ9.g0cdX7P34VemXT8nO5uaqKrKmSjc8caXWwS6T3Mo7Cb'
};

然后你可以在任何文件中访问它:

const variables = require('./variables');

console.log(variables.invalidAccessToken);

// ...

推荐阅读