1

I have an application using Spring MVC 4, and not using any spring-boot-starter-* dependencies. i.e, I don't have that class with a main method calling SpringApplication.run. I'm configuring all by myself with xml and other @Configuration classes.

Question: Is it possible to configure Spring Boot Test (using the spring-boot-starter-test) in that non Spring Boot Application?

3 Answers 3

1

spring-boot-starter-test has dependency on spring-boot-test JAR. There are some spring-boot packages used. So if you wouldn't use these features, you may be able to use it as pure test dependency. But better alternative would be to use plain spring-test module. That covers most of the Spring test functionality anyway.

Sign up to request clarification or add additional context in comments.

Comments

1

The testCompile('org.springframework.boot:spring-boot-starter-test') dependency has all you need, but it is dependency that you need to have, it will give you all power from spring-boot side, i.e. if you have your test class annotated with

@RunWith(SpringRunner.class) @SpringBootTest( classes = ${YourMainClass}.class ) 

it should work, even though I would strongly recommend using whole power of Spring Boot framework with the usage of all proper dependencies.

Comments

0

Test class:

@ContextConfiguration(locations = { "classpath:web-sdk-test-config.xml" }) @Test @TestPropertySource("classpath:application.properties") public abstract class AbstractTest extends AbstractTestNGSpringContextTests { private static final int TIMEOUT = 36000; } 

web-sdk-test-config.xml

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd "> <context:component-scan base-package="com.company" /> </beans> 

pom.xml:

<?xml version="1.0" encoding="UTF-8"?> <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"> <modelVersion>4.0.0</modelVersion> <artifactId>web-sdk</artifactId> <groupId>com.company</groupId> <version>2.0.0</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> </parent> <properties> <direct.data.loader.common>2.2.48</direct.data.loader.common> <timbermill.version>2.4.1</timbermill.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> <version>2.2.5.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.2.5.RELEASE</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.13.6</version> <scope>compile</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.0.2</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> </plugin> </plugins> </build> 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.