2017-09-08 13 views
0

コンポーネントに渡されたpropDataを変更して、コンポーネントを監視して確認しようとしています。Vuejsのテスト - 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

提案していただきありがとうございますが、私はまだ私が持っているものが期待どおりに動作していない理由を考えています。 –

関連する問題