আমি এই সমস্যাটি মোকাবিলা করার জন্য সিমফনি ১.৪ (পিএইচপি) এর জন্য একটি প্লাগইন তৈরি করেছি (অন্যদের মধ্যে)। এটি জ্যাঙ্গোর পরীক্ষার কাঠামো (পাইথন) পরিচালিত হওয়ার পরে মডেল করা হয়েছে : ফ্রেমওয়ার্কটি প্রতিটি পরীক্ষা শুরু হওয়ার আগে একটি পৃথক পরীক্ষামূলক ডাটাবেস তৈরি করে এবং পপুলেট করে এবং প্রতিটি পরীক্ষা শেষ হওয়ার পরে এটি পরীক্ষার ডাটাবেসটিকে ধ্বংস করে দেয়।
পারফরম্যান্সের ক্ষেত্রে উভয় ক্ষেত্রেই আমার এই কৌশলটি সম্পর্কে বেশ কয়েকটি উদ্বেগ ছিল (যদি স্কিমাটি পরিবর্তন না হয় তবে পুরো কাঠামোটি পুনর্নির্মাণের পরিবর্তে কেবল ডেটা সাফ করবেন না কেন?) এবং সুবিধা (কখনও কখনও আমি ডাটাবেসের পরে কোনও ডাটাবেসটি পরিদর্শন করতে চাই) পরীক্ষায় ব্যর্থতা, সুতরাং এটি নির্বিচারে ধ্বংস করবেন না!), তাই আমি কিছুটা ভিন্ন পন্থা নিয়েছি।
প্রথম পরীক্ষাটি চলার আগে, ডাটাবেসটি ধ্বংস এবং পুনর্নির্মাণ করা হয়, যদি শেষ পরীক্ষার পর থেকে মডেল পরিবর্তন হয়। পরবর্তী প্রতিটি পরীক্ষা চলার আগে, ডাটাবেসে থাকা ডেটা সাফ হয়ে যায়, তবে কাঠামোটি পুনর্নির্মাণ হয় না (যদিও প্রয়োজন হলে একটি ম্যানুয়াল পুনর্নির্মাণ পরীক্ষা থেকে ট্রিগার করা যেতে পারে)।
প্রতিটি পরীক্ষায় বাছাই করে ডেটা ফিক্সার লোড করে, কেউ পরবর্তী পরীক্ষায় হস্তক্ষেপ না করে সেই পরীক্ষার জন্য উপযুক্ত পরিবেশ তৈরি করতে পারে। ফিক্সার ফাইলগুলিও আবার ব্যবহার করা যেতে পারে, যা এই কাজটিকে আরও কম সাহসী করে তোলে (যদিও এটি এখনও পরীক্ষার লেখার আমার সবচেয়ে কম প্রিয় অংশ!)।
উভয় পরীক্ষার ফ্রেমওয়ার্কে, ডাটাবেস অ্যাডাপ্টারটি বিদ্যমান ডেটাটিকে দূষিত হওয়া থেকে পরীক্ষার সঞ্চালন রোধ করতে "উত্পাদন" সংযোগের পরিবর্তে পরীক্ষা সংযোগটি ব্যবহার করতে কনফিগার করা হয়।