为什么我的余烬测试给我类型错误:“未定义”不是一个函数
Why do my ember tests give me TypeError: 'undefined' is not a function?
这是ember test --serv
输出中的错误:
Integration | Component | date-time-input: it renders
✘ TypeError: 'undefined' is not a function (evaluating 'elem.getAttribute( name )')
http://localhost:7357/assets/vendor.js:1685
这发生在我所有的集成和验收测试中。
如何在没有像样的堆栈跟踪的情况下调试此错误?有没有办法配置 Ember 给我一个像样的堆栈跟踪?
以下是上述错误的测试:
import { moduleForComponent, test } from 'ember-qunit';
import Ember from 'ember';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('date-time-input',
'Integration | Component | date-time-input', {
integration: true,
});
test('it renders', function(assert) {
// Set any properties with this.set('myProperty', 'value');
// Handle any actions with this.on('myAction', function(val) { ... });
let two = Ember.Object.extend({
someDate: null,
});
this.set('two', two);
this.render(hbs`{{date-time-input model=two field='someDate'}}`);
assert.notEqual(this.$().text().indexOf('2016'), -1);
});
和相应的组件
import Ember from 'ember';
export default Ember.Component.extend({
fieldValue: Ember.computed('model', 'field', function () {
let fieldName = this.get('field');
let value = this.get('model.' + fieldName);
return value;
}).readOnly(),
actions: {
dateChanged: function (value) {
let model = this.get('model');
let field = this.get('field');
model.set(field, value);
},
},
});
{{flat-pickr
dateFormat='F j, Y at'
timeFormat='h:i K'
value=fieldValue
enableTime=true
onChange=(action 'dateChanged')
}}
这是我的回购,以防有人好奇:https://github.com/NullVoxPopuli/aeonvera-ui
您实际上得到了一个有用的堆栈跟踪,尽管在编译的vendor.js
中而不是在源文件中。
如果您使用的是 Chrome,请在来源面板中打开assets/vendor.js
。然后在第 1685 行设置断点。由于 ember-cli 会在资源编译时创建源映射,因此 Chrome 应会立即将您带到源文件中的相应行。
令人讨厌的是,Testem没有指向源文件,但是您应该能够从编译的文件返回相同的方式。
(此外,看起来堆栈跟踪的第一行来自jQuery,如果有帮助的话。
相关文章:
- Jquery未定义函数正在停止其他操作
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- jQuery文件上传和验证未定义函数
- 引用错误:未定义函数-Firefox
- res.render中出错,未定义函数
- 神秘的未定义函数
- 尝试使用函数和Ajax修改值时未定义函数
- 引用错误:未定义函数
- ReferenceError:未定义函数
- 在 Angular JS 中使用 ng-include 的未定义函数
- 未捕获的引用错误:未定义函数
- j查询工具提示引发错误:未定义函数
- 未捕获的引用错误: 未定义单击世界 -- 未定义函数
- JS:引用错误:未定义函数
- 茉莉花未定义函数
- Javascript 错误:未捕获的引用错误:未定义 [函数]
- 未定义函数
- 尽管 js 文件引用在标头中,但未定义函数
- Javascript 未定义函数错误