Skip to content

Commit db518d0

Browse files
authored
Migrate unit tests to JUnit 5 (#247)
1 parent 273d9b5 commit db518d0

File tree

90 files changed

+344
-362
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+344
-362
lines changed

its/ruling/src/test/java/org/sonar/web/it/WebRulingTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@
3434
import org.junit.BeforeClass;
3535
import org.junit.ClassRule;
3636
import org.junit.Test;
37-
import org.sonarsource.analyzer.commons.ProfileGenerator;
3837
import org.sonarqube.ws.Qualityprofiles;
3938
import org.sonarqube.ws.client.HttpConnector;
4039
import org.sonarqube.ws.client.WsClient;
4140
import org.sonarqube.ws.client.WsClientFactories;
4241
import org.sonarqube.ws.client.qualityprofiles.ActivateRuleRequest;
4342
import org.sonarqube.ws.client.qualityprofiles.SearchRequest;
4443
import org.sonarqube.ws.client.rules.CreateRequest;
44+
import org.sonarsource.analyzer.commons.ProfileGenerator;
4545

4646
import static org.assertj.core.api.Assertions.assertThat;
4747

pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,18 @@
8080
<jdk.min.version>11</jdk.min.version>
8181
</properties>
8282

83+
<dependencyManagement>
84+
<dependencies>
85+
<dependency>
86+
<groupId>org.junit</groupId>
87+
<artifactId>junit-bom</artifactId>
88+
<version>5.10.0</version>
89+
<type>pom</type>
90+
<scope>import</scope>
91+
</dependency>
92+
</dependencies>
93+
</dependencyManagement>
94+
8395
<profiles>
8496
<profile>
8597
<id>its</id>

sonar-html-plugin/pom.xml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,8 @@
6969

7070
<!-- Test dependencies -->
7171
<dependency>
72-
<groupId>junit</groupId>
73-
<artifactId>junit</artifactId>
74-
<version>${junit.version}</version>
72+
<groupId>org.junit.jupiter</groupId>
73+
<artifactId>junit-jupiter</artifactId>
7574
<scope>test</scope>
7675
</dependency>
7776
<dependency>
@@ -91,18 +90,36 @@
9190
<artifactId>sonar-plugin-api-impl</artifactId>
9291
<version>${sonarqube.api.impl.version}</version>
9392
<scope>test</scope>
93+
<exclusions>
94+
<exclusion>
95+
<groupId>junit</groupId>
96+
<artifactId>junit</artifactId>
97+
</exclusion>
98+
</exclusions>
9499
</dependency>
95100
<dependency>
96101
<groupId>org.sonarsource.sonarqube</groupId>
97102
<artifactId>sonar-testing-harness</artifactId>
98103
<version>${sonarqube.api.impl.version}</version>
99104
<scope>test</scope>
105+
<exclusions>
106+
<exclusion>
107+
<groupId>junit</groupId>
108+
<artifactId>junit</artifactId>
109+
</exclusion>
110+
</exclusions>
100111
</dependency>
101112
<dependency>
102113
<groupId>org.sonarsource.sslr</groupId>
103114
<artifactId>sslr-testing-harness</artifactId>
104115
<version>${sslr.version}</version>
105116
<scope>test</scope>
117+
<exclusions>
118+
<exclusion>
119+
<groupId>junit</groupId>
120+
<artifactId>junit</artifactId>
121+
</exclusion>
122+
</exclusions>
106123
</dependency>
107124
</dependencies>
108125

sonar-html-plugin/src/test/java/org/sonar/plugins/html/HtmlPluginTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
*/
1818
package org.sonar.plugins.html;
1919

20-
import org.junit.Test;
20+
import org.junit.jupiter.api.Test;
2121
import org.sonar.api.Plugin;
2222
import org.sonar.api.SonarEdition;
2323
import org.sonar.api.SonarQubeSide;

sonar-html-plugin/src/test/java/org/sonar/plugins/html/analyzers/ComplexityVisitorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.nio.file.Files;
2424
import java.nio.file.Path;
2525
import java.util.List;
26-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
2727
import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
2828
import org.sonar.api.measures.CoreMetrics;
2929
import org.sonar.plugins.html.api.HtmlConstants;

sonar-html-plugin/src/test/java/org/sonar/plugins/html/analyzers/PageCountLinesTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
import java.nio.file.Paths;
2828
import java.util.Collections;
2929
import java.util.List;
30-
import org.junit.Before;
31-
import org.junit.Test;
30+
import org.junit.jupiter.api.BeforeEach;
31+
import org.junit.jupiter.api.Test;
3232
import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
3333
import org.sonar.api.measures.CoreMetrics;
3434
import org.sonar.plugins.html.api.HtmlConstants;
@@ -44,7 +44,7 @@ public class PageCountLinesTest {
4444
private PageLexer lexer;
4545
private HtmlAstScanner scanner;
4646

47-
@Before
47+
@BeforeEach
4848
public void setUp() {
4949
lexer = new PageLexer();
5050
scanner = new HtmlAstScanner(Collections.emptyList());

sonar-html-plugin/src/test/java/org/sonar/plugins/html/api/HtmlConstantsTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@
1717
*/
1818
package org.sonar.plugins.html.api;
1919

20-
import org.junit.Test;
20+
import org.junit.jupiter.api.Test;
21+
22+
import static org.junit.jupiter.api.Assertions.assertThrows;
2123

2224
public class HtmlConstantsTest {
2325

24-
@Test(expected=IllegalAccessException.class)
26+
@Test
2527
public void create() throws Exception {
26-
HtmlConstants.class.newInstance();
28+
assertThrows(IllegalAccessException.class, () -> HtmlConstants.class.newInstance());
2729
}
2830

2931
}

sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/CheckMessagesVerifierRule.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,24 @@
2020
import java.util.ArrayList;
2121
import java.util.Collection;
2222
import java.util.List;
23-
import org.junit.rules.Verifier;
23+
import org.junit.jupiter.api.extension.AfterEachCallback;
24+
import org.junit.jupiter.api.extension.ExtensionContext;
2425

2526
/**
26-
* This JUnit Rule allows to automatically execute {@link CheckMessagesVerifier#noMore()}.
27+
* This JUnit Extension allows to automatically execute {@link CheckMessagesVerifier#noMore()}.
2728
* <pre>
28-
* &#064;org.junit.Rule
29+
* &#064;org.junit.jupiter.api.extension.RegisterExtension
2930
* public CheckMessagesVerifierRule checkMessagesVerifier = new CheckMessagesVerifierRule();
3031
*
31-
* &#064;org.junit.Test
32+
* &#064;org.junit.jupiter.api.Test;
3233
* public void test() {
3334
* checkMessagesVerifier.verify(messages)
3435
* .next().atLine(1)
3536
* .next().atLine(2);
3637
* }
3738
* </pre>
3839
*/
39-
public class CheckMessagesVerifierRule extends Verifier {
40+
public class CheckMessagesVerifierRule implements AfterEachCallback {
4041

4142
private final List<CheckMessagesVerifier> verifiers = new ArrayList<>();
4243

@@ -46,11 +47,14 @@ public CheckMessagesVerifier verify(Collection<HtmlIssue> messages) {
4647
return verifier;
4748
}
4849

49-
@Override
5050
protected void verify() {
5151
for (CheckMessagesVerifier verifier : verifiers) {
5252
verifier.noMore();
5353
}
5454
}
5555

56+
@Override
57+
public void afterEach(ExtensionContext extensionContext) throws Exception {
58+
verify();
59+
}
5660
}

sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/attributes/IllegalAttributeCheckTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@
1717
*/
1818
package org.sonar.plugins.html.checks.attributes;
1919

20-
import static org.assertj.core.api.Assertions.assertThat;
21-
2220
import java.io.File;
23-
24-
import org.junit.Rule;
25-
import org.junit.Test;
21+
import org.junit.jupiter.api.Test;
22+
import org.junit.jupiter.api.extension.RegisterExtension;
2623
import org.sonar.plugins.html.checks.CheckMessagesVerifierRule;
2724
import org.sonar.plugins.html.checks.TestHelper;
2825
import org.sonar.plugins.html.visitor.HtmlSourceCode;
2926

27+
import static org.assertj.core.api.Assertions.assertThat;
28+
3029
public class IllegalAttributeCheckTest {
3130

32-
@Rule
31+
@RegisterExtension
3332
public CheckMessagesVerifierRule checkMessagesVerifier = new CheckMessagesVerifierRule();
3433

3534
@Test

sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/attributes/RequiredAttributeCheckTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@
1717
*/
1818
package org.sonar.plugins.html.checks.attributes;
1919

20-
import static org.assertj.core.api.Assertions.assertThat;
21-
2220
import java.io.File;
23-
24-
import org.junit.Rule;
25-
import org.junit.Test;
21+
import org.junit.jupiter.api.Test;
22+
import org.junit.jupiter.api.extension.RegisterExtension;
2623
import org.sonar.plugins.html.checks.CheckMessagesVerifierRule;
2724
import org.sonar.plugins.html.checks.TestHelper;
2825
import org.sonar.plugins.html.visitor.HtmlSourceCode;
2926

27+
import static org.assertj.core.api.Assertions.assertThat;
28+
3029
public class RequiredAttributeCheckTest {
3130

32-
@Rule
31+
@RegisterExtension
3332
public CheckMessagesVerifierRule checkMessagesVerifier = new CheckMessagesVerifierRule();
3433

3534
@Test

0 commit comments

Comments
 (0)