2017-07-20 3 views
0

Ich versuche, einen Endpunkt aus meiner Express-Anwendung mit Jest zu testen. Ich migriere von Mocha, um Jest auszuprobieren, um die Geschwindigkeit zu verbessern. Wie auch immer, mein Jest-Test schließt nicht? Ich bin ratlos ...Testen von ExpressJS Endpunkt mit Jest

process.env.NODE_ENV = 'test'; 
const app = require('../../../index'); 
const request = require('supertest')(app); 

it('should serve the apple-app-site-association file /assetlinks.json GET', async() => { 
    const response = await request.get('/apple-app-site-association') 
    expect(response.statusCode).toBe(200); 
}); 

Antwort

1

So ist die einzige Sache, die ich für dieses Versagen denken könnte, ist, dass Sie das Paket babel-preset-env könnten fehlen.

In jedem Fall gibt es zwei weitere Möglichkeiten, Supertest zu verwenden:

it('should serve the apple-app-site-association file /assetlinks.json GET',() => { 
    return request.get('/apple-app-site-association').expect(200) 
}) 

oder

it('should serve the apple-app-site-association file /assetlinks.json GET',() => { 
    request.get('/apple-app-site-association').then(() => { 
     expect(response.statusCode).toBe(200); 
     done() 
    }) 
}) 

async die Phantasie Lösung ist, sondern auch die, die mehr Anforderungen. Wenn Sie es schaffen, das Problem zu finden, lassen Sie es mich wissen :).

(Referenz für meine Antwort: http://www.albertgao.xyz/2017/05/24/how-to-test-expressjs-with-jest-and-supertest/)

+0

Leider nicht. Es wird immer noch nicht beendet. Das Problem hat etwas mit dem Schließen der Verbindung zu Mungo zu tun, denke ich? –

+0

warum nicht Sie Mungo Anruf verspotten ?, können Sie tun, mit jest.mock ('Mungo',() => ({ themethodyouuse: jest.fn() })) const Mungo = require ('Mungo ') – Kanekotic

Verwandte Themen