2017-09-08 2 views
0

구성 요소로 전달 된 propData를 변경하여 구성 요소를 모니터링하고 확인합니다.테스트 - Ava - propData 변경

임 (5)가이 코드 블록의 마지막 콘솔 로그를 기대하지만 여전히 2.

import Vue from 'vue'; 
import test from 'ava'; 

import AnimateNumber from './../src/components/AnimateNumber.vue'; 

function instance(propsData) { 
    let N = Vue.extend(AnimateNumber); 
    return new N({propsData}); 
} 

test('..', t => { 

    let vm2 = new Vue({ 
     data: { 
      a: 2 
     } 
    }); 

    let vm = instance({number: vm2.a}).$mount(); 

    // vm.displayNumber is just a copy of the number prop passed in. 
    console.log(vm.displayNumber); // 2 

    // Set to 5 
    Vue.set(vm2, 'a', 5); 

    console.log(vm2.a); // 5 

    Vue.nextTick(function() { 
     console.log(vm.displayNumber); // 2 (Expected 5) 
    }); 

}); 
+1

왜 'vm2'에 5를 설정했을 때 'vm'에서 5를 기대합니까? –

+0

vm2.a는 VM의 소품으로 전달되기 때문에. 구성 요소에 전달 된 propData를 변경하고 구성 요소 내부 데이터가 변경되었는지 확인하려고합니다. –

+0

어딘가에 저장소가 있습니까? –

답변

0

내가 테스트가 될 경우에 VUE JS 구성 요소 https://github.com/MGMonge/petrol

을 테스트하기 위해 가솔린을 사용

+0

제안을 주셔서 감사하지만 나는 아직도 내가 가지고있는 것이 예상대로 작동하지 않는 이유를 해결하고 싶습니다. –