0

我有一个使用另一个组件的组件。但它不起作用,因为第一个组件的测试表明它缺少一个helper被调用的curit-select.

0.10您可以添加一个moduleForComponentneeds to the函数,但现在这样做会强制它进入单元测试模式。(

您不需要通过需要依赖:。这样做会强制测试进入单元模式。

组件 1:

<div class='change-device-status'>
  Status: {{curit-select content=statuses selection=device.status}}
  <button class="save-button" {{action 'save'}}>opslaan</button>
</div>

组件 2:

<select {{action 'change' on='change'}}>
  {{#if prompt}}
    <option disabled selected={{is-not selection}}>
      {{prompt}}
    </option>
  {{/if}}

  {{#each content key="@identity" as |item|}}
    <option value="{{read-path item optionValuePath}}"
            selected={{is-equal item selection}}>
      {{read-path item optionLabelPath}}
     </option>
  {{/each}}
</select>

现在我正在尝试为第一个组件编写集成测试:

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';

moduleForComponent('change-device-status', 'Integration | Component | change device status', {
  integration: true
});

test('it renders', function(assert) {
  assert.expect(3);

  // Set any properties with this.set('myProperty', 'value');
  // Handle any actions with this.on('myAction', function(val) { ... });

  this.set('dev', {
    status: 'InUse'
  });

  this.render(hbs`{{change-device-status content=dev}}`);

  assert.equals(this.$().text().trim(), '');
});
4

1 回答 1

1

它会起作用的!记得重启ember serve

于 2015-08-12T11:39:50.473 回答