যদি আপনার পরীক্ষার জন্য অস্থায়ী ডিরেক্টরি প্রয়োজন হয় এবং আপনি jUnit ব্যবহার করছেন, @Rule
একসাথে TemporaryFolder
আপনার সমস্যা সমাধান করে:
@Rule
public TemporaryFolder folder = new TemporaryFolder();
ডকুমেন্টেশন থেকে :
টেম্পোরারিফোল্ডার বিধি পরীক্ষার পদ্ধতি শেষ হওয়ার পরে মুছে ফেলার গ্যারান্টিযুক্ত ফাইল এবং ফোল্ডার তৈরি করতে দেয় (এটি পাস হয় বা ব্যর্থ হয়)
হালনাগাদ:
আপনি যদি জুনিত বৃহস্পতি (সংস্করণ 5.1.1 বা তার বেশি) ব্যবহার করছেন তবে আপনার কাছে জুনিট পাইওনিয়ার ব্যবহার করার বিকল্প রয়েছে যা জুনিত 5 এক্সটেনশন প্যাক।
প্রকল্পের নথি থেকে অনুলিপি করা :
উদাহরণস্বরূপ, নিম্নলিখিত পরীক্ষাগুলি একক পরীক্ষার পদ্ধতির জন্য এক্সটেনশানটিকে নিবন্ধভুক্ত করে, অস্থায়ী ডিরেক্টরিতে একটি ফাইল তৈরি করে এবং লেখায় এবং এর সামগ্রীটি পরীক্ষা করে।
@Test
@ExtendWith(TempDirectory.class)
void test(@TempDir Path tempDir) {
Path file = tempDir.resolve("test.txt");
writeFile(file);
assertExpectedFileContent(file);
}
আরো তথ্য JavaDoc এবং TempDirectory এর JavaDoc
Gradle:
dependencies {
testImplementation 'org.junit-pioneer:junit-pioneer:0.1.2'
}
ম্যাভেন:
<dependency>
<groupId>org.junit-pioneer</groupId>
<artifactId>junit-pioneer</artifactId>
<version>0.1.2</version>
<scope>test</scope>
</dependency>
আপডেট 2:
@TempDir টীকা একটি পরীক্ষামূলক বৈশিষ্ট্য হিসাবে JUnit জুপিটার 5.4.0 রিলিজ যোগ করা হয়েছিল। JUnit 5 ব্যবহারকারী গাইড থেকে অনুলিপি করা উদাহরণ :
@Test
void writeItemsToFile(@TempDir Path tempDir) throws IOException {
Path file = tempDir.resolve("test.txt");
new ListWriter(file).write("a", "b", "c");
assertEquals(singletonList("a,b,c"), Files.readAllLines(file));
}