Contenu connexe
Similaire à 中華電信 教育訓練 (20)
中華電信 教育訓練
- 2. • Why we needTDD
• How to startTDD
• Conclusion
OUTLINE
- 37. var liftApp = async () => {
await models.sequelize.sync({
force: config.connection.force
});
await bootstrap();
app.listen(config.port);
return app;
}
if (env !== 'test') liftApp();
module.exports = liftApp
import chai from 'chai';
import request from 'supertest';
import sinon from 'sinon';
import liftApp from '../../server';
chai.should();
global.sinon = sinon;
before(async (done) => {
let app = await liftApp();
global.app = app;
global.request =
request.agent(app.listen());
done();
});
AP
start
test framework
start
- 38. SPECdescribe('auth login spec', () => {
before(async (done) => {
let testUser = {'username': 'test', 'password': 'test'}
await models.User.create(testUser);
done();
});
it('login should be success.', async (done) => {
let loginUserFormData = {
'username': ‘test',
'password': ‘test'
};
request.post(‘/auth/login')
.send(loginUserFormData).expect(200)
.end((error, res) => {
if (error) done(error);
let loginResult = res.body;
loginResult.success.should.be.true;
done();
})
}
- 39. • Mocha test framework
• Supertest API
• Should or Chai spec