在每个测试文件中使用相同的变量

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);
  });
});