ধরা যাক আমি অন্যান্য চরিত্র এবং সেই ধরণের স্টাফকে আক্রমণ করে এমন অক্ষরগুলির সাথে একটি ভূমিকা গেম বিকাশ করা শুরু করি।
টিডিডি প্রয়োগ করে আমি যুক্তির অভ্যন্তরীণ Character.receiveAttack(Int)
পদ্ধতির পরীক্ষার জন্য কয়েকটি পরীক্ষার কেস তৈরি করি । এটার মতো কিছু:
@Test
fun healthIsReducedWhenCharacterIsAttacked() {
val c = Character(100) //arg is the health
c.receiveAttack(50) //arg is the suffered attack damage
assertThat(c.health, is(50));
}
বলুন আমার কাছে 10 টি পরীক্ষার receiveAttack
পদ্ধতি রয়েছে। এখন, আমি একটি পদ্ধতি যুক্ত করি Character.attack(Character)
(যে receiveAttack
পদ্ধতিটি কল করে ), এবং কিছু টিডিডি চক্র পরীক্ষা করার পরে, আমি সিদ্ধান্ত নিই: Character.receiveAttack(Int)
হওয়া উচিত private
।
আগের দশটি পরীক্ষার ক্ষেত্রে কী ঘটে? আমি তাদের মুছে ফেলা উচিত? public
আমার কি পদ্ধতি রাখা উচিত (আমি তা মনে করি না)?
এই প্রশ্নটি কীভাবে ব্যক্তিগত পদ্ধতিগুলি পরীক্ষা করতে হয় তা নয় তবে টিডিডি প্রয়োগ করার সময় পুনরায় নকশার পরে কীভাবে সেগুলি মোকাবেলা করা যায়
internal
বা আপনার ভাষার সমতুল্যটিকে এখনও এটি প্রকাশিত হতে বাধা দিতে পারে। আসলে কেভিন ক্লাইনের উত্তর হ'ল এই ধরণের পদ্ধতির।