Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

496
Views
Spring boot (JPA Test) : Unable to find a @SpringBootConfiguration when doing a JpaTest

I'm trying to run a simple Junit test to see if my JpaRepository are indeed working.

The error I keep getting is:

Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test java.lang.IllegalStateException doesn't spring boot configure itself?

My Test Class :

@RunWith(SpringRunner.class)
@DataJpaTest
public class LogConnectionTest {

    @Autowired
    private TestEntityManager entityManager;

    @Autowired
    private LogConnectionDao logConnectionDao;

    @Test
    public void ajouterTest() throws Exception{
        this.entityManager.persist(new LogConnection("Test",4));
        LogConnection logConnection = this.logConnectionDao.findOne((long)1);
        assertThat(logConnection.getClasseName().equals("Test"));
        assertThat(logConnection.getOriginalId() != 5);
    }
}

My Spring boot application :

@SpringBootApplication
public class UpsysmarocLibraryLogApplication {

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

My Repository :

public interface LogConnectionDao extends JpaRepository<LogConnection,Long> {

}
about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

I get it. Follow below convention

1> Assume your main spring application is as below

@EnableAutoConfiguration
@SpringBootApplication
public class Application {...}

2> Now create a abstract class which you can extend in all test classes. If you dont need this, then just take these config annotations and directly put in your test class.

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)
@ActiveProfiles("test")
@WebAppConfiguration
/**
 * If you have any property file to load to test uncomment below line) 
   @TestPropertySource({
   "classpath:/properties/dbConfig-test.properties",
   "classpath:/properties/unittest.properties"
   })
*/
public abstract class AbstractSpringTest{}

Then you can have your test class

public class LogConnectionTest extends AbstractSpringTest {

/** Instance to unit test. */
@Autowired
private LogConnectionDao logConnectionDao;

@Test
public void ajouterTest() {
    final LogConnection logConnection = logConnectionDao.saveAndFlush(new LogConnection("Test",4));
    Assert.assertNotNull(logConnection);
    Assert.assertEquals("Test", logConnection.getClasseName());
    Assert.assertNotEquals(5, logConnection.getOriginalId());
}

}

about 4 years ago · Santiago Trujillo Report

0

Use below class level annotation on your test class

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {JPAConfig.class})

or

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = {JPAConfig.class})

or

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value={"myJPAConfig.xml"})

or

@RunWith(SpringRunner.class)
@ContextConfiguration(value={"myJPAConfig.xml"})
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!