Последний тест на кипарисе показывает все утверждения - PullRequest
0 голосов
/ 18 февраля 2020

Я новичок в использовании Cypress в качестве основы тестирования автоматизации. В настоящее время я пытаюсь использовать Cypress для автоматизации тестов в API на основе GraphQL. Я могу вызвать API, получить ответ без проблем, но когда я попытался сделать утверждения с помощью «Assert.Equal (« переменная ответа »,« ожидаемое сообщение »), мои утверждения появляются только в последнем описании, хотя все мои описания в Тест. js имеет затем, как описано в примере Два с утверждениями, но только последнее шоу тогда enter image description here

1 Ответ

0 голосов
/ 21 февраля 2020

Тесты выполняются асинхронно, что делает тестировщик быстрее, чем фактический возврат результатов.

Посмотрите на их асинхронные c получатели .. async/await или хотя бы возврат обещание может быть вашим другом: https://github.com/cypress-io/cypress-example-recipes/blob/master/examples/unit-testing__application-code/async-methods.js

Если вам не нравится async/await, ваш последний тест может выглядеть так:

it('ConsultaCredenciado por cnpj',function(){
  return new Promise((resolve, _) => {
    var client = require('graphql-client')({
        url: 'apiURL/credenciadosplant/',
        headers: {
          Authorization: 'Bearer ' + token
        }
      })

    client.query(
        `query{
            consultarCredenciado(cnpj :"123456456")
            {
              IdCredenciado
              CNPJ
              IdCredenciadoLegado
              Email
            }
          }`,function(req,res){
          if(res.status === 401){
              throw new error('Not Authorized')
          }
      }).then(function(res){
        console.log(res)
        expect(res.data.consultarCredenciado[0].Email).to.equal('aaaaa@aaaaaa.com')
        resolve(true);
    })
  });
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...