在每个测试文件中使用相同的变量
Use the same variable in each test file
出于测试目的,我使用了多个文件。每一个代表网站的一部分进行测试。
在其中一个开始测试文件中,我为新案例的名称创建了变量,它看起来像:
var moment = require('../../../../../node_modules/moment');
describe('Create new case', function() {
var caseNumber = moment().format('YYYYMMDD-HHmmss-SS');
但是在最后的某个地方(在另一个测试文件中)我想再次使用这个 caseNumber
(与第一次测试中使用的完全相同,而不是生成新的)。
谁能告诉我如何在量角器中做到这一点?
让一个测试依赖于另一个测试来定义和导出变量听起来不太对。使用 global
:
在 onPrepare()
中设置全局变量
onPrepare: function() {
global.caseNumber = moment().format('YYYYMMDD-HHmmss-SS');
},
然后,您将 caseNumber
作为所有测试的全局变量。
不需要使用全局变量。您可以通过创建自己的模块并要求它来使其更具可读性:
//test/lib/homepage.js
var moment = require('moment');
module.exports = {
caseNumber: moment().format('YYYYMMDD-HHmmss-SS'),
getContent: function () { //another example of reuse
return element(by.css('body'));
});
};
//test/homepage.spec.js
var page = require('./lib/homepage');
describe('Homepage', function() {
it('should display correct date', function () {
expect(page.getContent()).toContain(page.caseNumber);
});
});
出于测试目的,我使用了多个文件。每一个代表网站的一部分进行测试。
在其中一个开始测试文件中,我为新案例的名称创建了变量,它看起来像:
var moment = require('../../../../../node_modules/moment');
describe('Create new case', function() {
var caseNumber = moment().format('YYYYMMDD-HHmmss-SS');
但是在最后的某个地方(在另一个测试文件中)我想再次使用这个 caseNumber
(与第一次测试中使用的完全相同,而不是生成新的)。
谁能告诉我如何在量角器中做到这一点?
让一个测试依赖于另一个测试来定义和导出变量听起来不太对。使用 global
:
onPrepare()
中设置全局变量
onPrepare: function() {
global.caseNumber = moment().format('YYYYMMDD-HHmmss-SS');
},
然后,您将 caseNumber
作为所有测试的全局变量。
不需要使用全局变量。您可以通过创建自己的模块并要求它来使其更具可读性:
//test/lib/homepage.js
var moment = require('moment');
module.exports = {
caseNumber: moment().format('YYYYMMDD-HHmmss-SS'),
getContent: function () { //another example of reuse
return element(by.css('body'));
});
};
//test/homepage.spec.js
var page = require('./lib/homepage');
describe('Homepage', function() {
it('should display correct date', function () {
expect(page.getContent()).toContain(page.caseNumber);
});
});