আমার একটি বিমূর্ত বেস ক্লাস রয়েছে, যা আমি আমার ইউনিট পরীক্ষার (টেস্টএনজি 5.10) বেস হিসাবে ব্যবহার করি। এই শ্রেণীর, আমি আমার পরীক্ষার জন্য পুরো পরিবেশ আরম্ভ, ডাটাবেজ ম্যাপিং স্থাপনের ইত্যাদি এই বিমূর্ত বর্গ একটি সঙ্গে একটি পন্থা নেই @BeforeClass
টীকা যা আরম্ভের আছে।
এরপরে, আমি নির্দিষ্ট ক্লাসের সাথে সেই ক্লাসটি প্রসারিত করি যেখানে আমার @Test
পদ্ধতি এবং @BeforeClass
পদ্ধতি রয়েছে। এই পদ্ধতিগুলি পরিবেশের শ্রেণি-নির্দিষ্ট সূচনা করে (উদাহরণস্বরূপ ডাটাবেসে কিছু রেকর্ড রাখে)।
আমি কীভাবে @BeforeClass
টীকাযুক্ত পদ্ধতির একটি নির্দিষ্ট ক্রম প্রয়োগ করতে পারি ? আমার বিস্তৃত শ্রেণীর সদস্যগুলির আগে মৃত্যুর জন্য অ্যাবস্ট্রাক্ট বেস শ্রেণীর একটিগুলি দরকার।
উদাহরণ:
abstract class A {
@BeforeClass
doInitialization() {...}
}
class B extends A {
@BeforeClass
doSpecificInitialization() {...}
@Test
doTests() {...}
}
প্রত্যাশিত আদেশ:
A.doInitialization
B.doSpecificInitialization
B.doTests
প্রকৃত অর্ডার:
B.doSpecificInitialization // <- crashes, as the base init is missing
(A.doInitialization // <---not executed
B.doTests) // <-/