2016-06-09 16 views
3

讓我先解釋一下問題: 我們有一個基於Ember的髒表單檢查器,如果用戶轉移到另一個頁面並且確認轉換時應該重置isDirty標記頁面上的更改。我們遇到了一個錯誤,如果用戶通過更改進行過渡,確認了更改,然後返回,未做任何更改並再次導航,則確認對話框再次出現。簡單的修復,只需重新初始確認的標誌。現在,我正在爲此編寫一個集成測試,但是我沒有找到關於如何測試的明確文檔。我想要做的是以編程方式改變表格,過渡,然後回來,然後再離開。我怎樣才能做到這一點?這是Ember 2.3.0。Ember集成測試模擬轉換到另一個路線,然後返回

這裏的東西我已經試過:

this.render(hbs `{{#mycomp invokeDialog=invokeDialog on-dirty=formDirtyEvent on-confirm=dialogConfirmEvent on-cancel=dialogCancelEvent}} 
        {{mytextfield id=id label="dummy-form-fullName" type="text" inputBindValue="Paul Ryan"}} 
        {{/mycomp}}`); 

      Ember.$("#textfield-" + this.get('id')).val("Paul Ryana"); 
      fillIn(Ember.$('#textfield-' + this.get('id')), 'Paul Ryanna'); 


      visit("/").then(function() { 

      }); 

這將產生錯誤

"Error: Assertion Failed: You cannot use the same root element (#ember-testing) multiple times in an Ember.Application"

回答

3

您應該使用acceptance tests的路線之間的轉換。集成測試(component tests)僅用於測試獨立於應用程序流程的組件功能。所以你得到這個錯誤是因爲實際上沒有你需要訪問的路線。

+0

謝謝,我會嘗試。 – Lazloman

相關問題