0

I have a Spring Boot application structure like this:

src/main/java
            /main/Application.java
src/main/resource/
            /application-context.xml
src/test/java
            /main/TestApplication.java          
src/test/resource/
            /application-context-test.xml

When I start application by Run As Spring Boot Application or Run as Junit Both application-context.xml and application-context-test.xml were loaded.

But I only want to load application-context.xml in running mode, and application-context-test.xml in testing mode.

The initialisers look like:

@ImportResource("classpath:application-context.xml")
public class Application{

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}


@ImportResource("classpath:application-context-test.xml")
public class TestApplication{

  public static void main(String[] args) {
    SpringApplication.run(TestApplication.class, args);
  }

}

but they do not work. Both the XMLs are loaded. How can I resolve this?

S.K.
  • 3,597
  • 2
  • 16
  • 31
Ryo
  • 995
  • 2
  • 25
  • 41

1 Answers1

0

Annotate TestApplication with :

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = TestApplication.class)
S.K.
  • 3,597
  • 2
  • 16
  • 31
  • Thanks, I was use `@SpringBootTest(classes = TestApplication.class)` because `SpringApplicationConfiguration` is deprecated but it still not work – Ryo Aug 27 '18 at 10:04