2015-03-19 63 views
1

爲什麼this test會導致以下故障和錯誤?使用聚合物手勢測試自定義元素

expected 'NO. ONE' to equal 'ITEM TWO' 
       <unknown> at /swiper-slider/test/basic-test.html:59 
     Object.Fake.downAt at /polymer-gestures/test/js/fake.js:98 
    Object.Fake.downOnNode at /polymer-gestures/test/js/fake.js:89 
    Context.<anonymous> at /swiper-slider/test/basic-test.html:56 

polymer-gestures/test/js/fake.js未能找到this method目標,從this method叫,但我不能縮小確切的罪魁禍首。

我的預感是它與div.swiper-button-next元素是appended as a child on the fly和使用document.querySelector('swiper-slider /deep/ div.swiper-button-next')the test

回答

1

我有一種預感,有幾件事情正在發生。

  1. 當您撥打電話時,div.swiper-button-next不在DOM中。或者在你的系統中調用一個回調函數來完成所有工作(然後檢查回調函數中的值),或者(僅僅爲了測試這個問題是否真的是問題),手動設置setTimeout來延遲查詢選擇器和斷言一段時間。

  2. 聚合物的targetAt函數在內部使用elementFromPoint()。仔細檢查一下,確保你沒有覆蓋層(核心覆蓋層往往會把我的窗口全部扔掉),而且你真正想要挖掘的元素實際上是被發現的元素。不要害怕將一些調試/ console.log語句放入實際的聚合物源代碼中,看看它在那裏找到了什麼。

  3. 我沒有花太多時間來看看測試,但是你的slideEls [1]可能已經改變,因爲你查詢它。 querySelectorAll返回「非活動」節點列表,因此對DOM的更改不會更新您的選擇。

相關問題