我的Package.json代码:
"dependencies": {
"gulp-jest": "^2.0.0",
"jest-cli": "^20.0.4",
"supertest": "^1.2.0"
}
"scripts": {
"test": "gulp test"
}
我的gulpfile测试任务是
gulp.task('run-tests', (done) => {
gulp.src(['__tests__'])
.pipe(jest({ testMatch: ['**/*.test.js'] }))
.on('error', (error) => {
done(error);
})
.on('finish', () => {
done();
});
});
我的testcase文件为
const request = require('supertest');
test('POST: Should create a new plan', (done) => {
request('https://localhost:3000')
.post('/api/name')
.set('authorization', `bearer ${accessToken}`)
.set('content-type', 'application/json')
.send({
name: 'TestPlanCreated'
})
.end((err, res) => {
if (err) {
return done.fail(err);
}
expect(res.statusCode).toBe(299);
done();
});
一旦成功,它应该给statusCode 200,我通过期望200以外的方式使它失败但是测试用例没有失败也没有通过。
答案 0 :(得分:0)
我改变了我的任务:
gulp.task('run-tests', (done) => {
const options = {
projects: [__dirname],
silent: true,
testMatch: ['**/?(*.)(test).js?(x)'],
runInBand: true,
};
jest.runCLI(options, [__dirname])
.then((result) => {
if (result.numFailedTestSuites || result.numFailedTests) {
return done(result);
}
return done();
})
.catch(error => done(error));
});
将更新的包装更新为
"gulp-nsp": "^2.4.2",
"gulp-sequence": "^0.4.6",
"jest-cli": "^21.1.0",
现在测试用例开始失败/通过。