非常奇怪的jasmine.DEFAULT_TIMEOUT_INTERVAL错误

时间:2017-03-14 13:55:26

标签: angular phantomjs protractor

我正在尝试使用protractorphantomjs运行一些e2e测试。 当我运行测试时,我收到错误:

- Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

测试是:

import { browser, element, by } from 'protractor';

describe('example test', () => {

  it('stupid test', () => {
    console.log('in test');
    expect(true).toBe(true);
  });    

});

知道问题是什么吗?欢迎任何帮助:)

2 个答案:

答案 0 :(得分:1)

对我来说(使用karma),Karma配置文件中的指定端口与量角器配置文件中的指定端口不匹配。

exports.config = {
...,
baseUrl: 'http://localhost:9876/',//<--This port should match the port in your Karma (test runner) config file
framework: 'jasmine',
jasmineNodeOpts: {
  defaultTimeoutInterval: 3000,
  print: function() {}
}

这个答案在我找到之后似乎很明显,但是在源代码控制中端口已经改变了,并且修复并不是立即显现的。

答案 1 :(得分:0)

您在测试中缺少回调

return expect(true).toBe(true);

(或)

完成所有步骤后,请致电callback()

 it('stupid test', (callback) => {
    console.log('in test');
    expect(true).toBe(true);
    callback();
  });    

(或)

 it('stupid test', (done) => {
    console.log('in test');
    expect(true).toBe(true);
    done();
  });