Внутренний Асинхронный вызов до ()

Мне нужно запросить некоторые файлы JSON, которые содержат данные, которые я использую для тестирования. Я хотел бы сделать запрос в методе установки, но к нему не прикреплен асинхронный метод. Когда я запускаю приведенный ниже код, журнал внутри тестовой функции входа в систему отправляется на консоль до того, как будут отправлены мои журналы из метода установки. Есть ли способ, которым я могу сказать программе установки дождаться завершения моих звонков, прежде чем запускать тесты?

define([
  'intern!object',
  'pages/LoginPage',
  'data-objects/DataFetcher'
], function(registerSuite, LoginPage, DataFetcher) {

  registerSuite(function() {

    var loginId = admin;
    var password = test;
    var regionData = US;
    var loginPage = null;

    return {

        name: 'Login test',

        setup: function() {
            // Initialize page objects
            loginPage = new LoginPage(this.remote, this.timeout);

            // get test data
            DataFetcher.getData(Pages.LoginPage).then(function(response) {
                logger.info(DataFetcher.generateData(response));
            });

            DataFetcher.getData(Pages.TablePage).then(function(response) {
                logger.info(DataFetcher.generateData(response));
            });

            DataFetcher.getData(Pages.PersonPage).then(function(response) {
                logger.info(DataFetcher.generateData(response));
            });

            DataFetcher.getData(Pages.BasicInfoPage).then(function(response) {
                logger.info(DataFetcher.generateData(response));
            });

            DataFetcher.getData(Pages.CompanyInfoPage).then(function(response) {
                logger.info(DataFetcher.generateData(response));
            });
        },

        login: function() {
            logger.log('info', 'Login is ' + loginId + ' Password ' +
                password);
            return loginPage.load(regionData.BASE_URL)
                .login(loginId, password)
                .getAccumulatedState();
        }
    };
  });
});

1 ответ

Решение

Если вы вернете обещание от setup функции, стажер будет ждать его разрешения, прежде чем начинать тесты. Вы можете вернуть Promise.all(...) из всех ваших запросов.

Другие вопросы по тегам