我正在使用Pikaday在Ember CLI項目中創建Ember Datepicker組件。在組件測試中測試用戶交互似乎是不可能的。有誰知道如何做到這一點?接受使用Ember CLI測試Ember Datepicker組件
例如我試圖測試點擊組件的輸入時顯示的Pikaday小部件。測試如下所示:
import { test, moduleForComponent } from 'ember-qunit';
moduleForComponent('datepicker-input');
test('is an input tag', function() {
equal('INPUT', this.$().prop('tagName'));
});
test('clicking the input opens the pikaday dialog', function() {
ok($('.pika-single').hasClass('is-hidden'));
click(this.$().find('input'));
ok(!$('.pika-single').hasClass('is-hidden'));
});
第二個測試由於ReferenceError: click is not defined
而失敗。我不知道我在做什麼錯誤,據我可以告訴我的測試做相同的Ember.js網站上的示例:http://emberjs.com/guides/testing/testing-components/#toc_interacting-with-components-in-the-dom
所以我猜這個問題也可以與Ember CLI。歡迎任何幫助,我願意提供如何測試組件用戶交互的建議。
這使用jQuery中的'click'方法,而不是Ember.js提供的集成測試助手。所以不是我想要完成的。 – stravid 2014-09-04 19:45:42
確定使用集成測試助手。請注意,它需要一個選擇器,而不是一個元素。 – Gaurav 2014-09-04 20:04:19
正如我的問題所述,問題在於'click'集成測試助手沒有定義。 – stravid 2014-09-04 21:23:43