두 개의 파일 : api 테스트 (postAdduser.js)와 또 다른 각도기 (sendPush.js)가 있습니다.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();
});
});
은에 테스트 (sendPush.js) 전에 내가 변수 RUT을 저장할 것을 볼 테스트에 사용 중임 postAddUser.js
어떻게하면됩니까?
환호, 라파엘
RUT는 무엇을 나타 냅니까? 일반적으로 하나의 테스트가 다른 테스트에 종속되지 않도록하기 때문에 이것은 코드 냄새 일 수 있습니다. – satyajit
내 응용 프로그램에서는 새 사용자를 만들 수 없으므로 API를 통해이 사용자를 만들고 스크립트 (ui 테스트) – RFtests
Gotcha에서 틀림없이 사용해야합니다. 내 대답을 참조하십시오 – satyajit