0

我一直致力于在 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);

}
4

1 回答 1

0

在 Kitler 的帮助下回答了这个问题。

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

我遵循了本指南,Ember 组件集成测试

这是我的代码的新示例。

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);

});
于 2016-05-16T17:03:56.720 回答