প্রকল্প সম্পর্কে

Ginkgo হলো Go-এর জন্য একটি টেস্টিং ফ্রেমওয়ার্ক যা স্ট্যান্ডার্ড `testing` ফাউন্ডেশনের ওপর ভিত্তি করে তৈরি। এটি RSpec, Jasmine এবং Quick-এর মতো স্টাইলে স্পেকস লেখার জন্য একটি Domain-Specific Language (DSL) প্রদান করে, যা এটিকে ইউনিট, ইন্টিগ্রেশন এবং পারফরম্যান্স টেস্টিংয়ের জন্য উপযুক্ত করে তোলে। এর মূল ক্ষমতাগুলোর মধ্যে রয়েছে: - **প্রকাশভঙ্গি সমৃদ্ধ সংগঠন**: এতে `Describe`, `Context`, এবং `When`-এর মতো নেস্টেবল কন্টেইনার নোড এবং `BeforeEach`, `AfterEach`, `BeforeSuite`, এবং `AfterSuite`-এর মতো সেটআপ ও ক্লিনআপ নোড ব্যবহৃত হয়। - **এক্সিকিউশন কন্ট্রোল**: এটি স্পেকসগুলোকে একটি পুনরুৎপাদনযোগ্য র‍্যান্ডম অর্ডারে চালানোর সমর্থন করে এবং `ginkgo -p` কমান্ডের মাধ্যমে উন্নত প্যারালালাইজেশন প্রদান করে। - **স্পেক ম্যানেজমেন্ট**: স্পেকস সংগঠিত করার জন্য লেবেল এবং প্রোগ্রাম্যাটিক ফিল্টারিং বা কমান্ড-লাইন অপশনের মাধ্যমে নির্দিষ্ট সাবসেট টেস্ট চালানোর সুবিধা প্রদান করে। - **টুলিং**: এতে স্যুট জেনারেট, রান, ফিল্টার এবং প্রোফাইল করার জন্য একটি CLI টুল রয়েছে, সেইসাথে ডেভেলপমেন্টের সময় দ্রুত ফিডব্যাকের জন্য `ginkgo watch` মোড রয়েছে। - **রিপোর্টিং**: এটি বিভিন্ন ফরম্যাটে মেশিন-রিডেবল আউটপুট তৈরি করে এবং কাস্টম রিপোর্টিং ইনফ্রাস্ট্রাকচার তৈরির সুযোগ দেয়। - **ইন্টিগ্রেশন**: এটি সিনক্রোনাস এবং অ্যাসিনক্রোনাস অ্যাসারশনের জন্য Gomega ম্যাচার লাইব্রেরির সাথে ব্যবহারের জন্য ডিজাইন করা হয়েছে। অতিরিক্তভাবে, Ginkgo একটি Claude Code প্লাগইন প্রদান করে যা এজেন্টদের Ginkgo-এর ইডিয়মস এবং ডেকোরেটর ব্যবহার করে স্পেকস লিখতে সহায়তা করে।