Skip to content

Commit ee58c32

Browse files
authored
#172: Migrate tests from JUnit4 to JUnit5 (#192)
1 parent 28ee36e commit ee58c32

18 files changed

+216
-223
lines changed

pom.xml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
34
<modelVersion>4.0.0</modelVersion>
45

56
<groupId>com.github.invictum</groupId>
@@ -64,9 +65,15 @@
6465
<version>${rp.commons.version}</version>
6566
</dependency>
6667
<dependency>
67-
<groupId>junit</groupId>
68-
<artifactId>junit</artifactId>
69-
<version>4.13.1</version>
68+
<groupId>org.junit.jupiter</groupId>
69+
<artifactId>junit-jupiter-api</artifactId>
70+
<version>5.11.0</version>
71+
<scope>test</scope>
72+
</dependency>
73+
<dependency>
74+
<groupId>org.junit.jupiter</groupId>
75+
<artifactId>junit-jupiter-params</artifactId>
76+
<version>5.11.0</version>
7077
<scope>test</scope>
7178
</dependency>
7279
<dependency>
@@ -81,8 +88,8 @@
8188
</dependency>
8289
<dependency>
8390
<groupId>org.mockito</groupId>
84-
<artifactId>mockito-core</artifactId>
85-
<version>5.5.0</version>
91+
<artifactId>mockito-junit-jupiter</artifactId>
92+
<version>5.13.0</version>
8693
<scope>test</scope>
8794
</dependency>
8895
</dependencies>
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
package com.github.invictum.reportportal;
22

3-
import org.junit.Assert;
4-
import org.junit.Test;
5-
import org.junit.runner.RunWith;
6-
import org.junit.runners.JUnit4;
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.Test;
75
import org.openqa.selenium.logging.LogEntry;
86

97
import java.util.logging.Level;
108

11-
@RunWith(JUnit4.class)
129
public class EnhancedLogEntityTest {
1310

1411
@Test
1512
public void toJsonTest() {
1613
LogEntry logEntry = new LogEntry(Level.INFO, 42, "Message");
1714
EnhancedLogEntry entry = new EnhancedLogEntry("type", logEntry);
18-
Assert.assertTrue(entry.toJson().containsKey("type"));
15+
Assertions.assertTrue(entry.toJson().containsKey("type"));
1916
}
2017
}
Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,56 @@
11
package com.github.invictum.reportportal;
22

3-
import org.junit.Assert;
4-
import org.junit.Before;
5-
import org.junit.Rule;
6-
import org.junit.Test;
7-
import org.junit.rules.TemporaryFolder;
8-
import org.junit.runner.RunWith;
9-
import org.junit.runners.JUnit4;
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.BeforeEach;
5+
import org.junit.jupiter.api.Test;
6+
import org.junit.jupiter.api.io.TempDir;
107

118
import java.io.IOException;
9+
import java.nio.file.DirectoryStream;
10+
import java.nio.file.Files;
11+
import java.nio.file.Path;
1212
import java.util.HashSet;
1313
import java.util.Set;
1414

15-
@RunWith(JUnit4.class)
1615
public class FileStorageTest {
1716

18-
@Rule
19-
public TemporaryFolder directory = new TemporaryFolder();
17+
@TempDir
18+
Path tempDir;
19+
2020
private FileStorage fileStorage;
2121

22-
@Before
22+
@BeforeEach
2323
public void before() {
24-
fileStorage = new FileStorage(directory.getRoot().getAbsolutePath());
24+
fileStorage = new FileStorage(tempDir.toAbsolutePath().toString());
2525
}
2626

2727
@Test
28-
public void touch() {
28+
public void touch() throws IOException {
2929
fileStorage.touch(42L);
30-
String[] actual = directory.getRoot().list();
31-
Assert.assertArrayEquals(new String[]{"42"}, actual);
30+
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(tempDir)) {
31+
Set<String> actual = new HashSet<>();
32+
for (Path path : directoryStream) {
33+
actual.add(path.getFileName().toString());
34+
}
35+
Assertions.assertArrayEquals(new String[]{"42"}, actual.toArray(new String[0]));
36+
}
3237
}
3338

3439
@Test
3540
public void count() throws IOException {
36-
directory.newFile("19");
37-
directory.newFile("32");
38-
Assert.assertEquals(2, fileStorage.count());
41+
Files.createFile(tempDir.resolve("19"));
42+
Files.createFile(tempDir.resolve("32"));
43+
Assertions.assertEquals(2, fileStorage.count());
3944
}
4045

4146
@Test
4247
public void loadAndClean() throws IOException {
43-
directory.newFile("11");
44-
directory.newFile("12");
48+
Files.createFile(tempDir.resolve("11"));
49+
Files.createFile(tempDir.resolve("12"));
4550
Set<Long> actual = fileStorage.loadAndClean();
4651
Set<Long> expected = new HashSet<>();
4752
expected.add(11L);
4853
expected.add(12L);
49-
Assert.assertEquals(expected, actual);
54+
Assertions.assertEquals(expected, actual);
5055
}
5156
}
Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package com.github.invictum.reportportal;
22

33
import com.epam.ta.reportportal.ws.model.FinishTestItemRQ;
4-
import org.junit.Assert;
5-
import org.junit.Test;
6-
import org.junit.runner.RunWith;
7-
import org.junit.runners.JUnit4;
4+
import org.junit.jupiter.api.Assertions;
5+
import org.junit.jupiter.api.Test;
86

97
import java.time.ZonedDateTime;
108
import java.time.temporal.ChronoUnit;
119
import java.util.Date;
1210

13-
@RunWith(JUnit4.class)
1411
public class FinishEventBuilderTest {
1512

1613
@Test
@@ -19,12 +16,14 @@ public void withStatusTest() {
1916
.withStatus(Status.CANCELLED)
2017
.withEndTime(ZonedDateTime.now(), 5)
2118
.build();
22-
Assert.assertEquals("CANCELLED", event.getStatus());
19+
Assertions.assertEquals("CANCELLED", event.getStatus());
2320
}
2421

25-
@Test(expected = NullPointerException.class)
22+
@Test
2623
public void withNullStatusTest() {
27-
new FinishEventBuilder().withEndTime(ZonedDateTime.now(), 5).build();
24+
Assertions.assertThrows(NullPointerException.class,
25+
() -> new FinishEventBuilder().withEndTime(ZonedDateTime.now(), 5)
26+
.build());
2827
}
2928

3029
@Test
@@ -35,11 +34,13 @@ public void withEndDateTest() {
3534
.withEndTime(time, 5)
3635
.build();
3736
Date expected = Date.from(time.plus(5, ChronoUnit.MILLIS).toInstant());
38-
Assert.assertEquals(expected, event.getEndTime());
37+
Assertions.assertEquals(expected, event.getEndTime());
3938
}
4039

41-
@Test(expected = NullPointerException.class)
40+
@Test
4241
public void withNullEndDateTest() {
43-
new FinishEventBuilder().withStatus(Status.PASSED).build();
42+
Assertions.assertThrows(NullPointerException.class,
43+
() -> new FinishEventBuilder().withStatus(Status.PASSED)
44+
.build());
4445
}
4546
}
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
package com.github.invictum.reportportal;
22

3-
import org.junit.Assert;
4-
import org.junit.Test;
5-
import org.junit.runner.RunWith;
6-
import org.junit.runners.JUnit4;
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.Test;
75

86
import java.util.stream.Stream;
97

10-
@RunWith(JUnit4.class)
118
public class ItemTypeTest {
129

1310
@Test
1411
public void itemsContent() {
1512
String[] items = Stream.of(ItemType.values()).map(ItemType::name).toArray(String[]::new);
16-
Assert.assertArrayEquals(new String[]{"TEST", "STEP"}, items);
13+
Assertions.assertArrayEquals(new String[]{"TEST", "STEP"}, items);
1714
}
1815
}

src/test/java/com/github/invictum/reportportal/LogStorageTest.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package com.github.invictum.reportportal;
22

3-
import org.junit.Assert;
4-
import org.junit.Before;
5-
import org.junit.Test;
6-
import org.junit.runner.RunWith;
7-
import org.junit.runners.JUnit4;
3+
import org.junit.jupiter.api.Assertions;
4+
import org.junit.jupiter.api.BeforeEach;
5+
import org.junit.jupiter.api.Test;
86
import org.mockito.Mockito;
97
import org.openqa.selenium.WebDriverException;
108
import org.openqa.selenium.logging.LogEntries;
@@ -15,13 +13,12 @@
1513
import java.util.List;
1614
import java.util.logging.Level;
1715

18-
@RunWith(JUnit4.class)
1916
public class LogStorageTest {
2017

2118
private LogStorage storage;
2219
private Logs logsMock;
2320

24-
@Before
21+
@BeforeEach
2522
public void beforeTest() {
2623
storage = new LogStorage();
2724
logsMock = Mockito.mock(Logs.class);
@@ -36,21 +33,21 @@ public void beforeTest() {
3633
public void collectLogsTest() {
3734
storage.collect(logsMock);
3835
List<EnhancedLogEntry> actual = storage.query(item -> true);
39-
Assert.assertEquals(1, actual.size());
36+
Assertions.assertEquals(1, actual.size());
4037
}
4138

4239
@Test
4340
public void queryLogsRemoveTest() {
4441
storage.query(item -> true);
4542
List<EnhancedLogEntry> actual = storage.query(item -> true);
46-
Assert.assertTrue(actual.isEmpty());
43+
Assertions.assertTrue(actual.isEmpty());
4744
}
4845

4946
@Test
5047
public void cleanLogsTest() {
5148
storage.collect(logsMock);
5249
storage.clean();
53-
Assert.assertTrue(storage.query(item -> true).isEmpty());
50+
Assertions.assertTrue(storage.query(item -> true).isEmpty());
5451
}
5552

5653
@Test
@@ -64,7 +61,7 @@ public void collectAvailableTypesOnlyOnceTest() {
6461
public void skipCollectionIfNull() {
6562
Mockito.when(logsMock.get("data")).thenReturn(null);
6663
storage.collect(logsMock);
67-
Assert.assertTrue(storage.query(item -> true).isEmpty());
64+
Assertions.assertTrue(storage.query(item -> true).isEmpty());
6865
}
6966

7067
@Test

src/test/java/com/github/invictum/reportportal/LogUnitsHolderTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
import com.epam.ta.reportportal.ws.model.log.SaveLogRQ;
44
import net.thucydides.model.domain.TestStep;
5-
import org.junit.Test;
6-
import org.junit.runner.RunWith;
5+
import org.junit.jupiter.api.Test;
6+
import org.junit.jupiter.api.extension.ExtendWith;
77
import org.mockito.Mock;
88
import org.mockito.Mockito;
9-
import org.mockito.junit.MockitoJUnitRunner;
9+
import org.mockito.junit.jupiter.MockitoExtension;
1010

1111
import java.util.Collection;
1212
import java.util.HashSet;
1313
import java.util.function.Function;
1414

15-
@RunWith(MockitoJUnitRunner.StrictStubs.class)
15+
@ExtendWith(MockitoExtension.class)
1616
public class LogUnitsHolderTest {
1717

1818
@Mock
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,33 @@
11
package com.github.invictum.reportportal;
22

33
import com.github.invictum.reportportal.log.unit.Error;
4-
import org.junit.Assert;
5-
import org.junit.Test;
6-
import org.junit.runner.RunWith;
7-
import org.junit.runners.JUnit4;
4+
import org.junit.jupiter.api.Assertions;
5+
import org.junit.jupiter.api.Test;
86

9-
@RunWith(JUnit4.class)
107
public class LogsPresetTest {
118

129
@Test
1310
public void fullPreset() {
1411
int actual = LogsPreset.FULL.logUnits().length;
15-
Assert.assertEquals(6, actual);
12+
Assertions.assertEquals(6, actual);
1613
}
1714

18-
@Test(expected = UnsupportedOperationException.class)
15+
@Test
1916
public void fullPresetCustomization() {
20-
LogsPreset.FULL.register(Error.basic());
17+
Assertions.assertThrows(UnsupportedOperationException.class, () -> {
18+
LogsPreset.FULL.register(Error.basic());
19+
});
2120
}
2221

2322
@Test
2423
public void defaultPreset() {
2524
int actual = LogsPreset.DEFAULT.logUnits().length;
26-
Assert.assertEquals(4, actual);
25+
Assertions.assertEquals(4, actual);
2726
}
2827

2928
@Test
3029
public void customProfileCustomization() {
3130
LogsPreset preset = LogsPreset.CUSTOM.register(Error.basic());
32-
Assert.assertEquals(1, preset.logUnits().length);
31+
Assertions.assertEquals(1, preset.logUnits().length);
3332
}
3433
}

src/test/java/com/github/invictum/reportportal/NarrativeExtractorTest.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,19 @@
33
import net.serenitybdd.annotations.Narrative;
44
import net.thucydides.model.domain.Story;
55
import net.thucydides.model.domain.TestOutcome;
6-
import org.junit.Assert;
7-
import org.junit.Before;
8-
import org.junit.Test;
9-
import org.junit.runner.RunWith;
10-
import org.junit.runners.JUnit4;
6+
import org.junit.jupiter.api.Assertions;
7+
import org.junit.jupiter.api.BeforeEach;
8+
import org.junit.jupiter.api.Test;
119
import org.mockito.Mockito;
1210

1311
import java.util.function.Function;
1412

15-
@RunWith(JUnit4.class)
1613
public class NarrativeExtractorTest {
1714

1815
private TestOutcome testMock;
1916
private Story storyMock;
2017

21-
@Before
18+
@BeforeEach
2219
public void beforeTest() {
2320
testMock = Mockito.mock(TestOutcome.class);
2421
storyMock = Mockito.mock(Story.class);
@@ -29,15 +26,15 @@ public void beforeTest() {
2926
public void storyNarrative() {
3027
Mockito.when(storyMock.getNarrative()).thenReturn("narrative");
3128
NarrativeExtractor extractor = new NarrativeExtractor(testMock, narrative -> null);
32-
Assert.assertEquals("narrative", extractor.extract().get());
29+
Assertions.assertEquals("narrative", extractor.extract().get());
3330
}
3431

3532
@Test
3633
public void noNarrative() {
3734
Mockito.when(storyMock.getNarrative()).thenReturn(null);
3835
Mockito.when(testMock.getTestCase()).then(i -> Object.class);
3936
NarrativeExtractor extractor = new NarrativeExtractor(testMock, narrative -> "text");
40-
Assert.assertFalse(extractor.extract().isPresent());
37+
Assertions.assertFalse(extractor.extract().isPresent());
4138
}
4239

4340
@Test
@@ -46,6 +43,6 @@ public void classNarrative() {
4643
Mockito.when(testMock.getTestCase()).then(i -> TestInstance.class);
4744
Function<Narrative, String> map = narrative -> String.join("", narrative.text());
4845
NarrativeExtractor extractor = new NarrativeExtractor(testMock, map);
49-
Assert.assertEquals("line 1line 2", extractor.extract().get());
46+
Assertions.assertEquals("line 1line 2", extractor.extract().get());
5047
}
5148
}

0 commit comments

Comments
 (0)