in meinem Test-Ordner Ich habe zwei Dateien: eine API-Test (postAdduser.js) und eine andere der Winkelmesser (sendPush.js).Zugriff Variable von einer anderen Datei in 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();
});
});
sehen, dass in der BEFORE (sendPush.js) Test ich die Variable RUT speichern möchten das wird auf Test verwendet postAddUser.js
Wie kann ich das tun?
prost, rafael
Wofür steht RUT? Im Allgemeinen möchten Sie nicht, dass ein Test von einem anderen abhängig ist, daher könnte es sich um einen Code-Geruch handeln. – satyajit
Da ich in meiner Anwendung keinen neuen Benutzer erstellen kann, muss ich diesen Benutzer über die API erstellen und die Routine in meinem Skript verwenden (UI-Test) – RFtests
Gotcha. Siehe meine Antwort – satyajit