lundi 5 novembre 2018

Mocha: Uncaught AssertionError

I have following API test function:

   it('should return details of last order', function(done) {
    tempUrl="/rest/v1/user/orders/"+dineInOrderDetails[0];
    request 
      .get(tempUrl)
      .set(config.headers)
      .set('Authorization', 'Bearer ' + auth_token)
      .end(function(err,res){
        logger.info(config.logToConsole(res.request.url,res.request._data));
        assert.equal(res.status,200);
        assert.equal(res.body.order.uuid, dineInOrderDetails[0]);
        assert.equal(res.body.order.totalGross, dineInOrderDetails[1]);
        assert.equal(res.body.order.totalAmount, dineInOrderDetails[2]);
        done(err);
      });        
   });

If assertion failed in console it returned me

      Uncaught AssertionError: expected '6.95' to equal '36.90'
  + expected - actual

  -6.95
  +36.90

Best way to avoid uncaught assertion error is one try/catch in everyone test function for all asertion lines? Or can i do it better?

   it('should return details of last order2', function(done) {
    tempUrl="/rest/v1/user/orders/"+dineInOrderDetails[0];
    request 
      .get(tempUrl)
      .set(config.headers)
      .set('Authorization', 'Bearer ' + auth_token)
      .end(function(err,res){
        try{
          logger.info(config.logToConsole(res.request.url,res.request._data));
          assert.equal(res.status,200);
          assert.equal(res.body.order.uuid, dineInOrderDetails[0]);
          assert.equal(res.body.order.totalGross, dineInOrderDetails[1]);
          assert.equal(res.body.order.totalAmount, dineInOrderDetails[2]);
          done(err);
        }
        catch(e){
          done(e);
        }
      });        
   });

Aucun commentaire:

Enregistrer un commentaire