jquery 命令在 ember.js 中使用 hbs 渲染的测试中不起作用

jquery commands not working in tests using hbs rendering in ember.js

我一直致力于在 Ember.js 2.5 中编写自己的组件测试。我目前正在尝试测试按下按钮时的 属性 更改。测试可以 运行 正常并且不会抛出任何错误,但是测试中的 jquery 命令似乎不起作用。例如 this.$('button').click();

我已经按照此处的指南进行操作,https://guides.emberjs.com/v2.5.0/testing/testing-components/,甚至完全按照他们所做的进行操作 - 相同的组件名称和所有内容,但仍然一无所获。没有抛出任何错误,jquery 根本不起作用。

由于组件测试使用 htmlbars-inline-precompile 插件来呈现组件,我已确保遵循该 repo 上的所有说明。 Babel 已更新,Bower 已安装所有必要的先决条件。

这里是请求的测试代码

test('it closes', function(assert) {

this.render(hbs`{{modals/personal-information}}`);

//making sure the property is set correctly before test
this.set('isOpen', true);

this.$('button').close();

assert.equal('isOpen', false);

}

这是在 Kitler 的帮助下回答的。

我没有在渲染组件本身上设置 属性,而是在测试上设置。一旦我了解了如何在呈现的组件本身上设置和检索属性,我的测试就可以完美运行。

我遵循了这个指南,Ember component integration tests

这是我的新代码示例。

test('it closes', function(assert) {
 assert.expect(1);

 this.set('open', true);

 this.render(hbs`{{modals/personal-information isOpen=open id="modal"}}`);

 var $button = this.$('#modal button');

 $button.click();

 assert.equal(this.get('open'), false);

});