Асинхронные / ожидающие t тестовые коды не работают в beforeEach of TestCafe

Это намного чище и, как указано в комментариях, является распространенным явлением на других языках. Другая вещь, которую я нашел приятной, - это разрывы строк, очень полезные при написании строк.

let person = {name: 'John Smith', age: 24, greeting: 'Cool!' };

let usualHtmlStr = "<p>My name is " + person.name + ",</p>\n" +
                   "<p>I am " + person.age + " old</p>\n" +
                   "<strong>\"" + person.greeting +"\" is what I usually say</strong>";


let newHtmlStr = 
 `<p>My name is ${person.name},</p>
  <p>I am ${person.age} old</p>
  <p>"${person.greeting}" is what I usually say</strong>`;


console.log(usualHtmlStr);
console.log(newHtmlStr);
1
задан Alex Skorkin 4 March 2019 в 16:12
поделиться

1 ответ

Кажется, вы пропустили ключевое слово await до вызова doLogin():

fixture`App > ${menuName}`
  .page`${HOST}`
  .beforeEach(async (t) => {
    // Don't forget about await
    await doLogin(t)
  });

Из-за деталей реализации в некоторых случаях можно вызвать функцию async без await, но лучше не полагаться на это и всегда использовать await с async функциями.

Если вы добавите ключевое слово async и оно не исправит тест, не стесняйтесь создать отчет об ошибке в репозитории TestCafe и предоставить полный пример, который можно запустить для воспроизведения проблемы. ,

0
ответ дан Andrey Belym 4 March 2019 в 16:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: