вложенные тесты mocha, использующие его () - PullRequest
0 голосов
/ 27 марта 2020

У меня есть функция внутри функции mochas it (). Из этой функции я хочу использовать несколько операторов it (), чтобы при нажатии каждой кнопки и завершении щелчка тестовые примеры были пропущены. в настоящее время я делаю console.log, чтобы продемонстрировать это.

Моя функция внутри него ()

const startForSinglePage = async () => {
      for (let i = 0; i < rows; i++) {
        const row = `tr:nth-child(${i + 1})`;

        const btnDom = `${row} > ${buttonSelector}`;
        const statusDom = `${row} > ${spanSelector}`;

        await page.waitForSelector(statusDom);
        await page.waitForSelector(btnDom);

        await page.click(btnDom);

        console.log(`---button ${i + 1} is started---`);

        const currentStatus = await page.evaluate(
          status => document.querySelector(status).innerHTML,
          statusDom
        );

        if (currentStatus === "finished") {
          // It's already finished, so need to wait for changing the status
          await page.waitForFunction(
            status => document.querySelector(status).innerHTML !== "finished",
            { timeout: 0 },
            statusDom
          );
        }
        await page.waitForFunction(
          status => document.querySelector(status).innerHTML === "finished",
          { timeout: 0 },
          statusDom
        );
        console.log(`---button ${i + 1} is finished---`);
        await page.waitFor(1000);
      }
    };
...