यदि आपको परीक्षण के लिए एक अस्थायी निर्देशिका की आवश्यकता है और आप अपनी समस्या हल कर रहे हैं, तो @Rule
साथ में jUnit का उपयोग कर रहे हैं TemporaryFolder
:
@Rule
public TemporaryFolder folder = new TemporaryFolder();
से प्रलेखन :
TemporaryFolder नियम उन फ़ाइलों और फ़ोल्डरों के निर्माण की अनुमति देता है जिन्हें परीक्षण विधि समाप्त होने पर हटाए जाने की गारंटी दी जाती है (चाहे वह पास हो या न हो)
अपडेट करें:
यदि आप JUnit Jupiter (5.1.1 या अधिक संस्करण) का उपयोग कर रहे हैं, तो आपके पास JUnit Pioneer का उपयोग करने का विकल्प है जो JUnit 5 एक्सटेंशन पैक है।
परियोजना प्रलेखन से नकल :
उदाहरण के लिए, निम्न परीक्षण एकल परीक्षण विधि के लिए विस्तार को पंजीकृत करता है, अस्थायी निर्देशिका में एक फ़ाइल बनाता है और लिखता है और इसकी सामग्री की जांच करता है।
@Test
@ExtendWith(TempDirectory.class)
void test(@TempDir Path tempDir) {
Path file = tempDir.resolve("test.txt");
writeFile(file);
assertExpectedFileContent(file);
}
JavaDoc और TemDDirectory के JavaDoc में अधिक जानकारी
Gradle:
dependencies {
testImplementation 'org.junit-pioneer:junit-pioneer:0.1.2'
}
Maven:
<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));
}