[英]Access variable from another file in JS
在我的測試文件夾中,我有兩個文件:一個api測試(postAdduser.js)和另一個量角器(sendPush.js)。
postAdduser.js
var assert = require('chai').assert,
request = require('supertest'),
util = require('/Users/rafael/Desktop/projects/my-project/tests/API/spec/util.js'),
expect = require('chai').expect;
var storeId;
var session = null;
var rut;
describe('Register valid user', function() {
before(function (done) {
request(util.url)
.post('/admin/login')
.send(util.adminLogin)
.end(function(err, res) {
if (err) return done(err);
session = res.header['set-cookie'];
done();
});
});
this.timeout(60000);
it('Add valid user', function(done) {
request(util.url)
.post('/api/v1/users')
.set('Content-type', 'application/json')
.send(util.addValidUser)
.end(function(err, res) {
if (err) return done(err);
var results = res.body;
assert.equal(res.status, 200);
expect(results).to.include(util.addValidUser);
storeId = res.body._id;
rut = res.body.rut;
done();
});
});
sendPush.js
var HomePage = require('../pages/homePage.js');
var LoginPage = require('../pages/loginPage.js');
var Search = require ('../pages/searchPage.js');
var SendPush = require ('../pages/sendPush.js');
require('/Users/rafael/Desktop/projects/my-project/tests/UI/spec/postAddUser.js');
describe('Send notifications to RUT', function() {
before(function() {
describe('Register valid user', function() {
console.log(rut);
});
HomePage.get();
});
it('should log in in admin', function() {
LoginPage.login();
});
it('search for valid RUT', function() {
Search.searchRut('73667143');
});
it('send push to RUT', function() {
SendPush.sendPush();
});
after(function () {
browser.quit();
});
});
看到在BEFORE (sendPush.js)測試中,我想存儲在測試postAddUser.js上使用的變量RUT
我怎樣才能做到這一點?
干杯,拉斐爾
hacky的方法是:將rut設為全局變量
GLOBAL.rut
只要先運行API文件,它就會在所有文件中可用。
我有一個類似的問題,設置框架的方式是先在每個mocha文件之前調用setup.js文件,在setup.js中我執行某些文件中所需的全局聲明。
請注意,這種方法很容易破解,伸縮性也不太好,例如,如果兩個測試同時運行,而每個測試都希望同時創建/刪除用戶。 更好的方法是將此createUser方法抽象為一個函數,並在每個測試的每個塊之前使用它。 您可以擁有一個afterEach塊,您可以在其中刪除該用戶。 看看https://mochajs.org/中的鈎子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.