내 ember 컨트롤러에 대한 단위 테스트를 쓰려고합니다. 단지 속성을 변경 한 다음 부트 스트랩 모달을 엽니 다. 모달이 실제로 열리는 지 테스트하는 방법을 알아내는 데 어려움이 있습니다. 이것이 단위 테스트 또는 통합 테스트에 속하는 지 확실하지 않습니다. 그것이 내 단위 테스트에 없다면 나중에 코드 적용 범위를 결정하기가 어려울 것 같습니다. 부트 스트랩 버전 : 3.3.1, ember-cli 버전 0.1.5, 노드 0.10.33.ember-cli unit test - 컨트롤러가 부트 스트랩 모달을 엽니 다.
1.
test('loginClick() opens modal', function(){
var controller = this.subject();
$('#login-modal').on('show.bs.modal', function(){
equal(true, true, "the show.bs.modal event fired");
});
controller.send('loginClick', 'anything');
});
없는 주장 오류
test('loginClick() opens modal', function(){
var controller = this.subject();
andThen(function(){
controller.send('loginClick', 'anything');
stop();
Ember.run.later(function(){
start();
equal($('#login-modal').hasClass('in'), true, "has the 'in' class");
}, 500);
});
});
andThen 여기
정의되어 있지 않으며2 : 여기 아무 소용이 시도했습니다 것입니다 컨트롤러 :
loginClick: function(param){
this.set('provider', param);//facebook or google
$('#login-modal')
.modal();
}
이런 종류의 테스트 방법에 대한 다른 제안이나 모범 사례는 높이 평가됩니다.
p.s. 또한 클릭하기 전에 추가해 보았습니다.
$.support.transition = false;
누군가의 제안에 따라 추가했지만 모달 전환을 사용할 수 없습니다.
어떤 버전의 부트 스트랩을 사용하고 있습니까? – slindberg
3.3.1 부트 스트랩 – carter
'$ .support.transition = false'로 어떤 테스트를 해 보았습니까? 초기 검사시 첫 번째 검사와 함께 작동해야합니다. 난 단지'tests/test-helper.js' 파일에 설정하여 모든 부트 스트랩 위젯에 대해 해제 할 것입니다. 또한,'andThen'는'app.injectTestHelpers()'를 호출 한 후에 정의됩니다. 일반적으로'startApp' 헬퍼 (통합/수락 테스트 작성시)에서 수행됩니다. – slindberg