smalljs$molঅনুসন্ধান⌘ Kডকুমেন্টেশনপ্লেগ্রাউন্ডতুলনাইকোসিস্টেমসম্পর্কেBN
টেস্টিংGetting Startedপরিচিতিমানসিক মডেলশুরু করাTypeScript থেকে view.treeপ্রকল্পের কাঠামোটুলিংEssentialsইনস্টলেশনভিউস্টেট ও রিয়্যাক্টিভিটিরাউটিংরেন্ডারিংটেস্টিংডিপ্লয়সমস্যা সমাধানDataডেটা ফেচিংডেটা স্কিমাGiper BazaMoreশোকেসReact, Vue ও Svelte থেকেকুকবুকAdvancedপ্লাগইনমডিউল মেটাডেটাঅফলাইনগোস্ট ভিউAboutসাধারণ জিজ্ঞাসাটিমরিলিজAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

টেস্টিং

$mol ভিউ তার নিজের স্টেটের একটি ফাংশন, আর সেটিই বদলে দেয় টেস্ট দেখতে কেমন হবে। ব্যবহারকারীর একটি পরিস্থিতি লেখা হয় ভিউয়েরই মেথড কল হিসেবে: খসড়াটি বসান, অ্যাকশনটি চালান, ব্যবহারকারী যা দেখত তা পড়ুন।1app.draft( 'Milk' )2app.add()3$mol_assert_equal( app.item_title( 0 ), 'Milk' )কোনো সিলেক্টর নেই, ব্রাউজার নেই, Playwright বা Cypress নেই, কিছুর জন্য অপেক্ষা নেই। একই ফাইল আপনাকে এগুলোও দেয়:গতি। টেস্ট Node-এ মিলিসেকেন্ডে চলে; হাজারখানেক টেস্টে মিনিটখানেক লাগে। node my/hello/-/node.test.js একটি মডিউলের টেস্টগুলো চালায়।শূন্য সেটআপ। কম্পোনেন্টের পাশে রাখা hello.test.ts বিল্ডার তুলে নেয় আর -/node.test.js-এ কম্পাইল করে। mam_build দিয়ে ধারাবাহিক ইন্টিগ্রেশন সেটি চালায় এবং কোনো টেস্ট ব্যর্থ হলে বিল্ড ফেল করে।কনটেক্সটের মাধ্যমে সার্ভিস বদল। প্রতিটি টেস্ট নিজের $ পায়, আর কম্পোনেন্ট this.$.X দিয়ে যা কিছুতে পৌঁছায়, সেই $-এ একটি টেস্ট-বদল বসিয়ে তা পাল্টে দেওয়া যায়। $mol_fetch-এর বদলে this.$.$mol_fetch লেখার কারণ এটাই: প্রথমটি বদলানো যায়, দ্বিতীয়টি যায় না।মক করা সময়। কনটেক্সটের মাধ্যমে বানানো টাইমার নিজে থেকে টিক করে না; $mol_after_mock_warp() সারিতে যা আছে তা চালিয়ে দেয়।দরকার হলে আসল DOM। Node বান্ডল jsdom বহন করে, তাই একই টেস্ট ফাইলে dom_node() আর querySelectorAll কাজ করে।

ভিউয়ের মেথড দিয়ে একটি পরিস্থিতি

কুকবুক থেকে টুডু লিস্টটি ধরুন: একটি draft? স্ট্রিং, একটি items লিস্ট, একটি add অ্যাকশন আর একটি delete অ্যাকশন। এর টেস্ট থাকে my/todo/todo.test.ts-এ:1namespace $ {2 $mol_test({3 4 'add an item and delete it'( $ ) {5 const app = $my_todo.make({ $ })6 7 app.draft( 'Milk' )8 app.add()9 $mol_assert_equal( app.items().length, 1 )10 $mol_assert_equal( app.item_title( 0 ), 'Milk' )11 $mol_assert_equal( app.draft(), '' )12 13 app.delete( 0 )14 $mol_assert_like( app.item_rows(), [] )15 },16 17 'blank draft adds nothing'( $ ) {18 const app = $my_todo.make({ $ })19 20 app.draft( ' ' )21 app.add()22 $mol_assert_like( app.items(), [] )23 },24 25 })26}
GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীরেন্ডারিংপরবর্তীডিপ্লয়
এই পৃষ্ঠায়ভিউয়ের মেথড দিয়ে একটি পরিস্থিতিএকটি সার্ভিস মক করাসময়DOM-এর মধ্য দিয়েNode টেস্ট যা ধরে নাব্যবহারিক নোটপরবর্তী
Type to search the documentation.