$mol ভিউ তার নিজের স্টেটের একটি ফাংশন, আর সেটিই বদলে দেয় টেস্ট দেখতে কেমন হবে। ব্যবহারকারীর একটি পরিস্থিতি লেখা হয় ভিউয়েরই মেথড কল হিসেবে: খসড়াটি বসান, অ্যাকশনটি চালান, ব্যবহারকারী যা দেখত তা পড়ুন।1app.draft('Milk')2app.add()3$mol_assert_equal(app.item_title(0),'Milk')কোনো সিলেক্টর নেই, ব্রাউজার নেই, Playwright বা Cypress নেই, কিছুর জন্য অপেক্ষা নেই। একই ফাইল আপনাকে এগুলোও দেয়:গতি। টেস্ট Node-এ মিলিসেকেন্ডে চলে; হাজারখানেক টেস্টে মিনিটখানেক লাগে। nodemy/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({34'add an item and delete it'($){5const app=$my_todo.make({$})67app.draft('Milk')8app.add()9$mol_assert_equal(app.items().length,1)10$mol_assert_equal(app.item_title(0),'Milk')11$mol_assert_equal(app.draft(),'')1213app.delete(0)14$mol_assert_like(app.item_rows(),[])15},1617'blank draft adds nothing'($){18const app=$my_todo.make({$})1920app.draft(' ')21app.add()22$mol_assert_like(app.items(),[])23},2425})26}GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীরেন্ডারিংপরবর্তীডিপ্লয়এই পৃষ্ঠায়ভিউয়ের মেথড দিয়ে একটি পরিস্থিতিএকটি সার্ভিস মক করাসময়DOM-এর মধ্য দিয়েNode টেস্ট যা ধরে নাব্যবহারিক নোটপরবর্তীType to search the documentation.