Jest测试用例并没有失败,也没有通过

时间:2017-08-24 10:20:39

标签: jestjs supertest jest-fetch-mock gulp-jest

我的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以外的方式使它失败但是测试用例没有失败也没有通过。

1 个答案:

答案 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",

现在测试用例开始失败/通过。