2014-12-23 4 views
2

모델 인스턴스가 필요한 구성 요소가 있습니다. 모델 이름은 WorkflowState입니다. workflowstate의 인스턴스를 만들고 구성 요소에 삽입하려면 어떻게해야합니까? 생성자가 실행해야 할 몇 가지 논리가모델을 구성 요소 테스트에 전달

WorkflowState.create('some data') 

때문에 :

내가 사용하는 워크 플로 상태를 만들어야합니다.

WorkflowState에 연결할 수 없습니다. 내가 그렇게 할 수있는 방법을

... 어떤 생각을 나는이

import WorkflowState from "../../../app/models/wokrflow-state"; 

같은 import 문을 추가하는 시도하지만 컴파일하지 않았다?

var stateString = 'some data'; 
    var state = WorkflowState.create(JSON.parse(stateString)); 

    var component = this.subject({ 
    workflow: {state: state} 
    }); 
    // do some testing on the component 

도와주세요 :

내 테스트는 다음과 같이 보인다. 감사.

답변

3

이상적으로 구성 요소의 테스트는이 경우 모델과 같은 다른 단위와 분리되어야합니다. 특정 동작을 테스트해야하는 상태의 가짜 모델을 전달할 수 있습니다.

Ember.Object.create({ // the state you need }) 

그리고 당신이 정말로 때문에 당신이 할 수없는, 당신은 더 많은 일을해야합니다 진짜 모델을 통과 컨테이너를 생성하고 저장 등을 설정해야하는 경우 구성 요소

로 되었 모델에서 직접 .create를 호출하십시오. 다행히도이 모든 것을 피할 수 있습니다.

관련 문제