2016-01-08 8 views
5

Verwandte: Can't set timeout for jasmineWarum läuft mein Jasmin-Test vor dem DEFAULT_TIMEOUT_INTERVAL?

Jasmine 2.4.1

Mein Test meldet einen Fehler wegen Zeitüberschreitung, auch wenn der Timeout-Wert der gemeldeten Zeit größer zu sein scheint als.

ich das tue:

describe('tests content controller', function(){ 
    beforeAll(function(done) { 
     jasmine.DEFAULT_TIMEOUT_INTERVAL= 120000; 
     //... 
    }) 
    fit('/content GET should return 200',function(done){ 
     request(app) 
     .get('/content') 
     .set('Authorization', "bearer " + requestor.token) 
     .set('Accept', 'application/json') 
     .expect(200) 
     .end(function (err, res) { 
      console.log('timeout',jasmine.DEFAULT_TIMEOUT_INTERVAL); //prints 120000 
      if (err) done.fail(err); 
      expect(res.statusCode).toBe(200); 
      done(); 
     }) 
    }); 

Dann ist dieser Test nicht besteht, mit:

1) tests content controller /content GET should return 200 
    Message: 
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL. 
    Stack: 
    Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL. 
     at Timer.listOnTimeout [as ontimeout] (timers.js:110:15) 


Finished in 106.449 seconds 

106,449 Sekunden beträgt weniger als 120 Sekunden, das ist, was mein Timeout-Wert ist scheint zu setzen .

Warum ist dieser Test fehlgeschlagen?

+1

@engineer tun die 'getEnv()' Methode verursacht die 'console.log', die das Timeout gedruckt wird nicht getroffen werden. Das Ändern von 'beforeAll' in' beforeEach' hat nicht geholfen – Houseman

Antwort

2

Ich rief nicht done innerhalb meiner beforeAll, die diesen Fehler verursacht.

Verwandte Themen