হ্যাঁ, কোনও পরীক্ষার স্যুটে কোনও পরীক্ষার আগে এবং পরে নির্ভরযোগ্যভাবে সেট আপ করা এবং ছিঁড়ে ফেলা পদ্ধতিগুলি সম্ভব। আমাকে কোডে প্রদর্শন করুন:
package com.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {
@BeforeClass
public static void setUp() {
System.out.println("setting up");
}
@AfterClass
public static void tearDown() {
System.out.println("tearing down");
}
}
সুতরাং আপনার Test1
ক্লাসটি এমন কিছু দেখাচ্ছে:
package com.test;
import org.junit.Test;
public class Test1 {
@Test
public void test1() {
System.out.println("test1");
}
}
... এবং আপনি Test2
একই দেখতে দেখতে কল্পনা করতে পারেন । আপনি দৌড়ে TestSuite
গেলে, আপনি পাবেন:
setting up
test1
test2
tearing down
সুতরাং আপনি দেখতে পাচ্ছেন যে সেট আপ / টিয়ার ডাউন কেবল যথাক্রমে সমস্ত পরীক্ষার আগে এবং পরে চালিত হয়।
ক্যাচ: এটি কেবলমাত্র যদি আপনি পরীক্ষার স্যুটটি চালাচ্ছেন এবং টেস্ট 1 এবং টেস্ট 2 স্বতন্ত্র যুবিত পরীক্ষা হিসাবে চালাচ্ছেন না তখনই এটি কাজ করে। আপনি উল্লেখ করেছেন যে আপনি ম্যাভেন ব্যবহার করছেন, এবং ম্যাভেন নিশ্চিত ফায়ার প্লাগইন স্বতন্ত্রভাবে পরীক্ষা চালাতে পছন্দ করে, স্যুটটির অংশ নয়। এই ক্ষেত্রে, আমি একটি সুপারক্লাস তৈরি করার পরামর্শ দেব যা প্রতিটি পরীক্ষার ক্লাস প্রসারিত হয়। সুপারক্লাসের পরে টিকা দেওয়া @ বিফারনক্লাস এবং @ আফটারক্লাস পদ্ধতি রয়েছে। যদিও উপরের পদ্ধতির মতো পুরোপুরি পরিষ্কার না হলেও আমি মনে করি এটি আপনার পক্ষে কার্যকর হবে।
ব্যর্থ পরীক্ষার সমস্যা হিসাবে, আপনি maven.test.error.ignore সেট করতে পারেন যাতে বিল্ডটি ব্যর্থ পরীক্ষাগুলিতে চালিয়ে যায়। এটি একটি চলমান অনুশীলন হিসাবে সুপারিশ করা হয় না, তবে আপনার সমস্ত পরীক্ষা পাস না হওয়া পর্যন্ত এটি আপনাকে কাজ করা উচিত। আরও বিশদের জন্য, ম্যুভেন শিফিয়ার ডকুমেন্টেশন দেখুন ।
post-integration-test
কোনও পরীক্ষা ব্যর্থ হলে এটি এড়িয়ে যাবেন না । আরও দেখুন এই উইকি পাতা ।