मैं वू सीएलआई से VueJS का उपयोग कर रहा हूँ। तो मेरे सभी घटक .vue
प्रारूप में हैं।मैं VueJS में गणना गुणों का परीक्षण कैसे कर सकता हूं?
मेरे घटकों में से एक में, मेरे पास डेटा अनुभाग में fields
नामक एक सरणी है।
//Component.vue
data() {
return {
fields : [{"name" : "foo", "title" : "Foosteria"}, {"name" : "bar", "title" : "Barrista"}]
}
}
मैं एक परिकलित प्रॉपर्टीfields
//Component.vue
computed : {
subsetOfFields() {
// Something else in component data determines this list
}
}
के एक सबसेट मैं jasmine
इस तरह मेरी इकाई परीक्षण के सभी सेट किया हुआ हो कि है और वे ठीक काम करते हैं।
//Component.spec.js
import Vue from 'vue'
import MyComponent from 'Component.vue'
describe("Component test", function() {
var myComponentVar = new Vue(MyComponent);
var vm = myComponentVar.$mount();
beforeEach(function() {
vm = myComponentVar.$mount();
);
afterEach(function() {
vm = myComponentVar.$destroy();
});
it("First spec tests something", function() {
...
});
});
सब कुछ, spec
अंदर कुछ कर रही है, तो data
वस्तुओं पर दावे चल बस ठीक काम करता है। हालांकि, subsetOfFields
पर एक दावा चलाना हमेशा खाली सरणी देता है। ऐसा क्यों? इसका परीक्षण करने में सक्षम होने के लिए मुझे क्या करना चाहिए?
FYI करें, मैं भी कल्पना एक और describe
ब्लॉक के अंदर घोंसला बनाने से और फिर एक beforeEach
जो fields
सरणी initializes जोड़ने की कोशिश की। काम नहीं किया।
हालांकि, सामान्य beforeEach
फ़ंक्शन के अंदर fields
प्रारंभ करना कार्य किया। लेकिन मैं अन्य चश्मा के लिए उस नकली डेटा के साथ fields
सरणी शुरू करना नहीं चाहता हूं।
वास्तविक वू प्रोजेक्ट के लिए यह घटक.spec.js है। आप वहां पर जो चाहिए उसे ढूंढ सकते हैं। https://github.com/vuejs/vue/blob/dev/test/unit/features/options/computed.spec.js – Bert
@BertEvans, मैंने पहले से ही उस उदाहरण में तकनीक की कोशिश की है। वह पहले से मौजूद डेटा के साथ घटक शुरू कर रहा है। हालांकि लाइन 18 में, 'ए' के लिए डेटा 1 से 2 में बदलता है और 1 9 में 'बी' में परिवर्तन की उम्मीद है। मैंने वही काम किया लेकिन यह काम नहीं कर रहा है और मैं यह नहीं समझ सकता कि क्यों। –