简体   繁体   English

灰烬-在测试中获取组件中元素的动态输入值

[英]Ember - Get dynamic input value of element in component in test

So I have a simple component which looks like this: 所以我有一个简单的组件,看起来像这样:

<div class="my-div">{{ value }}</div>
{{input class="my-input" type="text" value=value}}

And I have two tests like this: 我有两个这样的测试:

test('get text from div', function(assert) {

  this.set('value', 'my test value');
  this.render(hbs`{{input-test value=value}}`);

  assert.equal(this.$('.my-div').text(), 'my test value');

});

test('get value from input', function(assert) {

  this.set('value', 'my test value');
  this.render(hbs`{{input-test value=value}}`);

  assert.equal(this.$('.my-input').attr('value'), 'my test value');

});

The first test passes, but the second one fails. 第一次测试通过,但第二次失败。 this.$('.my-input').attr('value') appears to be undefined . this.$('.my-input').attr('value')似乎undefined Why? 为什么? How can I make this test pass? 我如何才能通过此考试?

Use val() : 使用val()

assert.equal(this.$('.my-input').val(), 'my test value');

API ref: jquery val API参考: jquery val

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM