Извлеките функцию из beforeEach и назначьте переменную this - PullRequest
0 голосов
/ 01 февраля 2019

Моя beforeEach установка чрезвычайно продолжительна, и существует возможность повторного использования между различными тестовыми случаями в разных файлах.

Есть ли способ, которым можно извлечь тело из beforeEach и при этом присвоить this переменная?

Пример:

describe(function () {
  beforeEach(async function () {
    this.a = a.new(...);
    this.b = b.new(...);
    this.c = c.new(...);
    ...
  });
  describe("a", function () {
    it("calls a func", async function () {
      await this.a.func();
    });
  });
});

И извлечь тело beforeEach в функцию setup (во втором файле):

describe(function () {
  beforeEach(async function () {
    [ this.a, this.b, this.c ] = setup(); 
  });
  ...
});

1 Ответ

0 голосов
/ 01 февраля 2019
//exampleSetup.js

async function setup() {
    const a = a.new(...);
    const b = b.new(...);
    const c = c.new(...);
    return [a, b, c];
}

module.exports = setup;

//tester.js

const setup = require("exampleSetup");
let a, b, c;
beforeEach(async function () {
    [ a, b, c ] = setup()
    ...
  });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...