2014-09-05 18 views
1

테스트에서는 구성 요소를 수동으로 인스턴스화하고 DOM에 추가합니다. 웬일인지 클릭 동작을 사용하여 해당 구성 요소에서 동작을 트리거 할 수있는 것 같지 않지만 수동으로 '보내기'를 호출하면 작동합니다. 그것은 타다 남은 것 같다 http://jsbin.com/copum/1/테스트 할 때 구성 요소에서 동작을 트리거 할 수 없습니다.

 //THIS DOESN'T WORK 
     click('button.click-me'); 
     andThen(function(){ 
      expect(find('#click-status').length).to.be(1);    
     }); 

     /* 
     //THIS WORKS THOUGH 
     Ember.run(function(){ 
      documentCollection.send('clickMe'); 
     }); 
     andThen(function(){ 
      expect(find('#click-status').length).to.be(1);    
     });    
     */ 

어떤 이유로 작업과 관련된 DOM을 찾을 수 없습니다 : 여기 시험에 jsbin 링크입니다. 어떤 방법 으로든 클릭 이벤트로 작업하게 만들 수 있습니까 ??

미리 감사드립니다.

답변

1

당신은 당신의 시험 :이 지금 통과

상단의 방문을 누락하고 visit('/')를 호출하지 않을 경우, 또는

it("should show the text when clicking the button - using click", function() { 
     visit('/'); 
     click('button.click-me'); 
     andThen(function(){ 
      expect(find('#click-status').length).to.be(1);    
     }); 
    }); 
+0

쏴 버렸습니다. 이 문제를 해결해 주신 Toran에게 감사드립니다. –

0

을 예상대로 작동된다 수동으로 Ember.EventDispatcher을 만들 수 있습니다. 완료되면 파기하는 것을 잊지 마세요.

it("should show the text when clicking the button - using click", function() { 
    dispatcher = Ember.EventDispatcher.create(); 
    dispatcher.setup(); 
    click('button.click-me'); 
    andThen(function(){ 
     expect(find('#click-status').length).to.be(1);    
     Ember.run(function(){ 
      dispatcher.destroy(); 
     }); 
    }); 
}); 
관련 문제