Created
October 3, 2016 18:05
-
-
Save yamalight/370306d4027d70dcf29650be9db30f91 to your computer and use it in GitHub Desktop.
Koa and supertest example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const test = require('tape'); | |
const koa = require('koa'); | |
const supertest = require('supertest'); | |
const app = koa(); | |
app.use(function *(){ | |
this.body = 'Hello World'; | |
}); | |
let server; | |
let request; | |
test('Start server', t => { | |
server = app.listen(); | |
request = supertest(server); | |
t.end(); | |
}) | |
test('Koa test', t => { | |
request | |
.get('/') | |
.expect(200) | |
.end((err, res) => { | |
if (err) throw err; | |
t.equals(res.text, 'Hello World'); | |
t.end(); | |
}); | |
}); | |
test('Shutdown server', t => { | |
server.close(); | |
t.end(); | |
}) |
@polRk one simple option would be to construct new app for each middleware inside tests and test it that way
@polRk one simple option would be to construct new app for each middleware inside tests and test it that way
Yes, you are right! But how can i test context.state ?
expect(context.state.key).toBe('value')
Yes, you are right! But how can i test context.state ?
Maybe like this ?
server.user(internationalizationPlugin)
server.use(ctx => {
ctx.body = ctx.state
})
@polRk return it as a response?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The fact is that they are not all used. They connect as needed. This is a large number of plugins that should work independently.