JUnit testing got initializationError with java.lang.Exception: No tests found matching

后端 未结 8 1548
别那么骄傲
别那么骄傲 2021-01-01 18:59

When running JUnit testing , it gave an initializationError: No tests found matching. Like this:

prodapi-main-junit
initializationError(org.junit.runner.man         


        
8条回答
  •  北荒
    北荒 (楼主)
    2021-01-01 19:36

    I had the similar problem and later realized that my main spring boot application configuration was not scanning through the packages that had my test classes in

    Main class was scanning packages - {"com.mycmp.prj.pkg1", "com.mycmp.prj.pkg2", "com.mycmp.dependentprj.pkg5"}

    Test class was in package - com.mycmp.prj.pkg3

    Problem got fixed by fixing our base packages to scan all packages from current project and only scan limited needed packages from dependent libraries


    Main java class

    @SpringBootApplication(scanBasePackages = {"com.mycmp.prj.pkg1", "com.mycmp.prj.pkg2", "com.mycmp.dependentprj.pkg5"})
    public class MyApplication extends SpringBootServletInitializer {
    
        public static void main(final String[] args) {
            SpringApplication.run(MyApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(final SpringApplicationBuilder application) {
            return application.sources(MyApplication.class);
        }
    
        @Bean
        public FilterRegistrationBean customFilters() {
          final FilterRegistrationBean registration = new 
          FilterRegistrationBean<>();
          final Filter myFilter = new ServicesFilter();
          registration.setFilter(myFilter);
          registration.addUrlPatterns("/myurl1/*", "/myurl2/*");
          return registration;
        }
    
        @PostConstruct
        public void started() {
          //
        }
    }
    

    My Test Class

    **package com.mycmp.prj.pkg3;**
    
    import static org.junit.Assert.assertNotNull;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import com.mongodb.MongoClient;
    
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = MyApplication.class)
    public class MongoConfigStoreTest {
    
      @Test
      public void testConnection() throws Exception {
    
        final MongoClient client = new MongoClient("localhost", 127027);
        assertNotNull(client);
        assertNotNull(client.getDatabase("localhost"));
    
      }
    }
    

提交回复
热议问题