javascript - 如何在 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
解决方案
我建议将所有辅助变量保存在一个单独的文件中:
// variables.js
module.exports = {
invalidAccessToken: 'e0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0In0.eyJpYXQiOjE1NjI3NjMxNDQsIm5iZiI6MTU2Mjc2MzE0NCwiZXhwIjoxNTYzMjI1MTQ0LCJpc3MiOiJodHRwczpcL1wvam95YmlyZC5jb20iLCJhdWQiOiJodHRwczpcL1wvYXBpLXN0Zy5zdGl0Y2hpbmR1c3RyaWVzLmNvbSIsImp0aSI6Imh0dHBzOmFjYmZsY2kybmVmcWtheXl6ZHM0IiwiY3VzdG9tZXJfZmlyc3RfbmFtZSI6IlRvbSIsImN1c3RvbWVyX2xhc3RfbmFtZSI6IkNydWlzZSIsImN1c3RvbWVyX2NvbXBhbnkiOm51bGwsImN1c3RvbWVyX3Bhc3N3b3JkIjoiJDJ5JDEwJHJaWm1JNDlDRVJUa0VxQkNzTG1nemVFYVhVTHh0SVVOTlwvekI5T3phcXVEMnF4UWlJbDZrLiIsImN1c3RvbWVyX2lkIjozMDM2OTAsImN1c3RvbWVyX2VtYWlsIjoidGVzdDMucGFuZGl0QGdtYWlsLmNvbSJ9.g0cdX7P34VemXT8nO5uaqKrKmSjc8caXWwS6T3Mo7Cb'
};
然后你可以在任何文件中访问它:
const variables = require('./variables');
console.log(variables.invalidAccessToken);
// ...
推荐阅读
- ubuntu-18.04 - 如何在 ubuntu 18.04 中永久设置 privatetmp=false
- angular - 如何在表中使用两个具有两个不同数组迭代的 ng-container?
- c# - WPF MVVM:选择动态选择 UserControl 以根据其类型显示对象的方法
- javascript - 如何获取黄瓜钩子中每个步骤的结果(之后)
- python - 获取字典 d1 和 d2 并返回一个新字典,其中包含 d1 中不在 d2 中的所有键
- java - 如果文本被迫在您的文本视图中换行,如何在给定字符处换行?(安卓)
- javascript - 在javascript中推送回调的值
- amazon-web-services - AWS Cognito,如何允许两个或多个客户端应用程序之间的 SSO 并引入 ABAC 策略
- extjs - 如何解决 app build sencha touch 问题
- tomcat - 如何将 localhost 设置为 Tomcat 中的 IP 地址?