Утверждение Chai не терпит неудачу при использовании асинхронной команды? - PullRequest
0 голосов
/ 23 февраля 2019

Мое утверждение Chai, похоже, не дает сбоя при использовании приведенной ниже асинхронной команды:

async confirmSuccessfulSubmission() {
    try {
        let value = await $("#contact_reply h1").getText()
        if(value)
           return expect(value).to.equal("Thank You for your Message!2"); 
        return null
        } catch(e) {
            console.log(e)
        } 
}

Сообщение об исключении выводится в окно консоли:

[0-0] { AssertionError: expected 'Thank You for your Message!' to equal 'Thank You for your Message!2'
    at ContactUs_Page.confirmSuccessfulSubmission (C:\Users\GBruno\Desktop\webdriverioFramework\pageObjects\ContactUs_Page.js:51:34)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)
  message: 'expected \'Thank You for your Message!\' to equal \'Thank You for your Message!2\'',
  showDiff: true,
  actual: 'Thank You for your Message!',
  expected: 'Thank You for your Message!2' }

1 Ответ

0 голосов
/ 25 февраля 2019

Чтобы ваш тест не прошел, тестирующий (я полагаю, это webdriverio) должен получить ошибку AssertionError.В вашем тесте эта ошибка будет сгенерирована chai в этой строке:

expect(value).to.equal("Thank You for your Message!2");

Но вы поймете это здесь:

catch(e) {
        console.log(e)
    } 

, так что она никогда не попадет к тестирующему, и тест будетне подведет.Попробуйте вместо этого код:

async confirmSuccessfulSubmission() {
try {
    let value = await $("#contact_reply h1").getText()
    expect(value).to.equal("Thank You for your Message!2"); 
    } catch(e) {
        console.log(e)
        throw(e)
    } 
}

или если вам не нужно печатать ошибку:

async confirmSuccessfulSubmission() {
    let value = await $("#contact_reply h1").getText()
    expect(value).to.equal("Thank You for your Message!2"); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...