Jasmine 开玩笑-茉莉花坑-承诺和暂停

Jasmine 开玩笑-茉莉花坑-承诺和暂停,jasmine,promise,jestjs,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', fu

我使用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.jsv5.0.0,typescriptv1.5.3。我的测试是用gulp和jest cli启动的

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

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

请检查您的
jest cli
版本,如果大于0.7.1,请将其降级为0.7.1。所有这些都应该有效。

myItem.launch()
返回一个永远无法解决的承诺。你可能不需要任何茉莉花就可以复制这个。请回答。promise调用resolve(),此代码使用Jest 0.5.0。我不明白为什么myItem.launch()返回一个承诺,然后用Jest 0.5而不是Jest 0.8.2调用resolve来获得答案。我降级到0.7.1,但我总是有一个错误:“超时:在等待事件发生5000毫秒后超时”。我可以问你为什么0.7.1可以解决这个问题吗?如果我降级到0.5.0,一切都好。我如何用jest 0.8.2测试promise?请您分享更多关于您尝试执行这些东西的环境的详细信息,比如您是否使用node.js、babel等等。我猜您使用的是node.js,那么您可以在这种情况下共享您的package.json文件和node的版本吗?
gulp.task('test-tip', function(done) {
  jest.runCLI({ config : jestConfig }, __dirname, function(success) {
    console.log(success);
    done();
  });
});