Quit:TypeError:undefined不是函数



这些是我迄今为止编写的测试。第一个断言通过。第二次我得到错误:TypeError: undefined is not a function

/*global describe, it, assert */
App.rootElement = '#emberTestingDiv';
App.setupForTesting();
App.injectTestHelpers();
module('Integration Tests', {
  setup: function() {
    App.reset();
  }
});

// Tests
test('search terms?', function() {
  App.mainSearcher.params.q = 'our keywords';
  equal(App.mainSearcher.params.q, 'our keywords');
});
test('router?', function() {
  visit('/search?q=method&sort=patAssignorEarliestExDate%20desc');
  andThen(function(){
    equal(find('title').text(), 'method');
  });
});

我不知道我为什么会这样。我正在使用grunt contrib qunit,所以我很好奇我是否在通过grunt/npm使用Ember应用程序设置qunit时出错。

但我不认为这是因为第一次考试就要通过了。

如果有任何帮助,我将不胜感激。

谢谢!

编辑:

这是的全部错误

Died on test #1 at file:///Users/jwhite/Documents/workspace/uspto-aotw/front-end/test/spec/test.js:21:1: undefined is not a function
Source: TypeError: undefined is not a function

第21行是第二次测试的第一行:

test('router?', function() {

我的猜测?第一次测试运行中的某个内容"取消设置"全局test变量/方法。我的建议是使用QUnit API的完全合格版本:

/*global describe, it, assert */
App.rootElement = '#emberTestingDiv';
App.setupForTesting();
App.injectTestHelpers();
QUnit.module('Integration Tests', {   // qualified
  setup: function() {
    App.reset();
  }
});

// Tests
QUnit.test('search terms?', function(assert) {   // qualified (with `assert` arg)
  App.mainSearcher.params.q = 'our keywords';
  assert.equal(App.mainSearcher.params.q, 'our keywords');  // qualified
});
QUnit.test('router?', function(assert) {   // qualified (with `assert` arg)
  visit('/search?q=method&sort=patAssignorEarliestExDate%20desc');
  andThen(function(){
    assert.equal(find('title').text(), 'method');   // qualified
  });
});

如果这是有效的,那么我的假设是正确的,但我不知道在你的第一次测试运行中会发生什么,因为它并没有真正起到任何作用。我想它可能是App.reset()中的东西,但为什么第一次定义test()

无论如何。。。请先尝试限定的方法调用,这可能是一个快速修复方法。

相关内容

  • 没有找到相关文章

最新更新