Транспортировать спецификацию it () в цикле, используя данные из массива объектов - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь настроить набор тестов e2e со спецификациями (it) для проверки открытия файла в приложении.Я хотел бы собрать некоторые данные о производительности позже по каждой спецификации теста (в зависимости от размера файла, времени и т.использовал объект json (массив данных) для получения имен файлов.Я пытался использовать решение, перечисленное здесь .

Я пытался перебрать спецификации теста, используя jasmine-data-provider, как упомянуто здесь .Но спецификации пропускаются.

describe("App File Open", () => {
let fileNames: string[] = [];
const filePath: string = "common filepath for files"
  beforeAll(() => {        
    fileNames = jsonFile["files"];     

    // ...
  });

  beforeEach(function (): void {        
    // ...
  });

  using(fileNames, (data: string) => {
    it("open file " + data, () => {
      // ...
      inputElement.sendKeys(filePath + data);
      // ...
    });
  });

  afterEach(function (): void {
    // ...
  });

  afterAll(function (): void {
    // ...
  });
});

Тест пропускает блоки без выбора тестовых спецификаций (it).

"Жасмин запущена

Выполнено 0 из 0specs УСПЕХ в 0 сек. "

Возможно ли пройти через спецификации?Если так, то что мне здесь не хватает?(Извиняюсь, если это дубликат)

1 Ответ

1 голос
/ 10 апреля 2019

Я не знаю поставщика данных жасмина, но этот блок

using(fileNames, (data: string) => {
    it("open file " + data, () => {
      // ...
      inputElement.sendKeys(filePath + data);
      // ...
    });
  });

вычисляется до fileNames = jsonFile["files"];, поэтому fileNames - пустая строка.

...