2017-09-08 60 views
0

我試着去改變propData傳遞到一個組件來監視和檢查組件。Vuejs測試 - 阿瓦 - 改變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時,你會期望5出'vm'? –

+0

由於vm2.a作爲vm的支持傳入。所有我試圖做的是改變傳入組件的propData,並確保組件內部數據已經改變。 –

+0

有一個存儲庫的地方? –

回答

0

我會用汽油在這種情況下,測試VUE JS組件https://github.com/MGMonge/petrol

您的測試將是

+0

感謝您的建議,但我仍然想解決爲什麼我沒有按預期工作。 –