আপনি যা বর্ণনা করেছেন তা আসলে খুব খারাপ জিনিস নাও হতে পারে, তবে গভীর পরীক্ষার জন্য আপনার পরীক্ষাগুলি আবিষ্কার করে
সিস্টেম পরিবর্তন হওয়ার সাথে সাথে আমরা ভাঙা পরীক্ষাগুলি ঠিক করতে আরও বেশি সময় ব্যয় করতে দেখি। আমাদের ইউনিট, সংহতকরণ এবং কার্যকরী পরীক্ষা রয়েছে।
আপনি যদি নিজের কোড পরিবর্তন করতে পারেন, এবং আপনার পরীক্ষাগুলি ভঙ্গ না করে তবে এটি আমার কাছে সন্দেহজনক। বৈধ পরিবর্তন এবং বাগের মধ্যে পার্থক্য কেবলমাত্র এটি অনুরোধ করা হয়, যা অনুরোধ করা হয় তা হল (টেডিডি অনুমান) আপনার পরীক্ষাগুলি দ্বারা সংজ্ঞায়িত।
ডেটা হার্ড কোড করা হয়েছে।
পরীক্ষাগুলিতে হার্ড কোডেড ডেটা হ'ল ভাল জিনিস। পরীক্ষাগুলি প্রমাণ হিসাবে নয়, মিথ্যা হিসাবে কাজ করে। যদি খুব বেশি গণনা হয় তবে আপনার পরীক্ষাগুলি টাউটোলজ হতে পারে। উদাহরণ স্বরূপ:
assert sum([1,2,3]) == 6
assert sum([1,2,3]) == 1 + 2 + 3
assert sum([1,2,3]) == reduce(operator.add, [1,2,3])
বিমূর্ততাটি যত বেশি হবে ততই আপনি অ্যালগরিদমের কাছাকাছি পৌঁছে যাবেন এবং ততক্ষণে নিজের সাথে একিউটাল বাস্তবায়নের তুলনা করার কাছাকাছি।
কোড খুব কম পুনরায় ব্যবহার
পরীক্ষাগুলিতে কোডের সর্বোত্তম পুনরায় ব্যবহার হ'ল ইউএনআইটিএসের মতো ইমো 'চেকস' assertThat
, কারণ তারা পরীক্ষা সহজ রাখে। তদ্ব্যতীত, যদি পরীক্ষাগুলি কোড ভাগ করে নেওয়ার জন্য রিফ্যাক্টর করা যায় তবে পরীক্ষিত প্রকৃত কোড সম্ভবত খুব বেশি হতে পারে , সুতরাং পরীক্ষাগুলি রিফ্যাক্টর বেসটি পরীক্ষা করে এমন পরীক্ষাগুলি হ্রাস করে।