diff --git a/modules/spring-boot-autoconfigure/pom.xml b/modules/spring-boot-autoconfigure/pom.xml
index 97c2aa8..35df5d8 100644
--- a/modules/spring-boot-autoconfigure/pom.xml
+++ b/modules/spring-boot-autoconfigure/pom.xml
@@ -95,13 +95,6 @@
             <scope>test</scope>
             <version>${spring-boot.version}</version>
         </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/modules/spring-boot-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteAutoconfigureTestSuite.java b/modules/spring-boot-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteAutoconfigureTestSuite.java
deleted file mode 100644
index 04a18ee..0000000
--- a/modules/spring-boot-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteAutoconfigureTestSuite.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.springframework.boot.autoconfigure;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses({IgniteAutoconfigureTest.class})
-public class IgniteAutoconfigureTestSuite {
-}
diff --git a/modules/spring-boot-client-autoconfigure/pom.xml b/modules/spring-boot-client-autoconfigure/pom.xml
index 8c507b9..f7be2c1 100644
--- a/modules/spring-boot-client-autoconfigure/pom.xml
+++ b/modules/spring-boot-client-autoconfigure/pom.xml
@@ -96,13 +96,6 @@
             <scope>test</scope>
             <version>${spring-boot.version}</version>
         </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/modules/spring-boot-client-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteClientAutoConfigureTestSuite.java b/modules/spring-boot-client-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteClientAutoConfigureTestSuite.java
deleted file mode 100644
index abdcf8d..0000000
--- a/modules/spring-boot-client-autoconfigure/src/test/java/org/apache/ignite/springframework/boot/autoconfigure/IgniteClientAutoConfigureTestSuite.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.springframework.boot.autoconfigure;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Suite;
-
-@RunWith(Suite.class)
-@Suite.SuiteClasses({IgniteClientAutoConfigureTest.class})
-public class IgniteClientAutoConfigureTestSuite {
-}
