3

コンポーネントにテンプレートがない場合、コンポーネントのプロパティ値を確認するにはどうすればよいですか? アプリケーションでは、コンポーネントが拡張され、テンプレートがそのように提供されます。

//my-component.js
export default Ember.Component.extend({
    foo: 'bar'
});

//my-component-test.hbs
integration: true;
test('it renders', function(assert) {
  this.set('foo2', 'foo2');
  this.render(hbs`{{my-component foo=foo2}}`);
  assert.equal(/* ??? */, 'foo2');
});

this.render(hbs'{{#my-component foo=foo2}}{{foo}}{{/my-component}}');foo が譲れないので使えません。コンポーネントに直接アクセスすることもできません。

4

2 に答える 2

0

統合テストでは、コンポーネントを箱と考えてください。それに値を割り当て、そのコンポーネントから通知/イベントを取得します。たとえば、値をコンポーネントにバインドして使用し (ボタンを押す/値を入力するなど)、値を確認します。

また、統合テストでは、コンポーネントのレンダリングを jquery で確認できます。そのような:

  assert.equal(this.$("td").length, 6);

あなたの場合、あなたに適した単体テストかもしれません。 Ember単体テスト

于 2016-03-28T06:22:55.623 に答える