Jest - jasmine-pit - 承诺和超时

时间:2015-12-27 21:49:12

标签: jasmine promise jestjs

我使用jest和jasmine-pit来测试我的代码并承诺,所有这些都很精彩。

我更新了jest v0.5.0 - > v0.8.2,我遇到了相同代码的问题。

这是错误消息: 超时:等待5000毫秒等待事情发生后超时

这是我的代码:

jest.autoMockOff();
var jasminePit = require('jasmine-pit');
jasminePit.install(window);

describe('Test', function() {
  pit('testA', function() {
    var myItem= new MyClass();
    console.log("first text");
    return myItem.launch().then(function() {
      console.log("second text");
      expect(true).toBe(true);
    });
  });
});

"第一个文字"写在控制台中,"第二个文本"永远不会写,我有超时错误信息。

一切都很好,开玩笑0.5.0。

任何想法??

修改

嗨,我使用node.js v5.0.0,typescript v1.5.3。我的测试是用gulp和jest-cli用这条线启动的

var jestConfig = {
  scriptPreprocessor:'<rootDir>/../scripts/jtest.preprocessor.js',
  rootDir: 'sources',
  testFileExtensions: [
    "ts",
    "js",
    "tsx"
  ],
  moduleFileExtensions: [
    "js",
    "json",
    "ts"
  ]
};

我的jtest.preprocessor.js:

var ts = require('typescript');

module.exports = {
  process: function(src) {
    return ts.transpile(src, {
        module: ts.ModuleKind.CommonJS,
        target: ts.ScriptTarget.ES5,
        moduleResolution: ts.ModuleResolutionKind.NodeJs,
        jsx: ts.JsxEmit.React,
        experimentalDecorators: true
      });
  }
};

和gulp任务:

gulp.task('test-tip', function(done) {
  jest.runCLI({ config : jestConfig }, __dirname, function(success) {
    console.log(success);
    done();
  });
});

1 个答案:

答案 0 :(得分:0)

请查看您的jest-cli版本,如果大于0.7.1,请将其降级为0.7.1。一切都应该有效。