Как создать зависимость от 2 разных файлов java script, что-то похожее на depends-on method в TestNG?

#javascript #selenium

#javascript #селен

Вопрос:

У меня есть два JS-файла с методами тестирования, File1 и File2. File2.js должно выполняться, только если File1.js прошло все выполнение. В настоящее время я использую Javascript с mocha framework и WDIO

Ответ №1:

Обычно зависимости между тестами таким образом нежелательны по нескольким причинам:

  • File2 становится более сложным для отладки insolation из-за необходимости первого запуска File1.

  • Вы не можете запускать свои тесты параллельно, чтобы ускорить выполнение.

  • Тестирование функциональности File2 блокируется, если File1 завершается с ошибкой.

В гипотетическом базовом примере, скажем, File1 тестирует создание учетной записи пользователя, а File2 тестирует отправку сообщения.

Один из способов удалить зависимость — создать отдельную предварительно заполненную учетную запись (возможно, созданную с помощью API или скрипта базы данных), которую File2 использует для тестирования функции публикации. Это означает, что вы все еще можете протестировать публикацию, если не удается создать учетную запись пользователя (и они оба могут выполняться одновременно).

Поэтому, если возможно, я бы посоветовал подумать, есть ли способы избежать зависимости.

Если нет никакого способа обойти это, не могли бы вы потенциально использовать проверку блока before в File2, которая утверждает, что все находится в ожидаемом состоянии, в противном случае произойдет сбой before, и, следовательно, проверки File2 будут пропущены?

 before(`Did File 1 Run Successfully`, () => {
  expect(isMyFile1DataInPlace()).toBe(true)
})