Soy nuevo en frameworks (acabo de pasar la clase) y esta es la primera vez que uso Spring Boot.
Estoy tratando de ejecutar una prueba simple de Junit para ver si mis CrudRepositories realmente funcionan.
El error que sigo recibiendo es:
Incapaz de encontrar una @SpringBootConfiguration, debe usar @ContextConfiguration o @SpringBootTest (classes = ...) con su prueba java.lang.IllegalStateException
¿Spring Boot no se configura a sí mismo?
Mi clase de prueba:
@RunWith(SpringRunner.class)
@DataJpaTest
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class JpaTest {
@Autowired
private AccountRepository repository;
@After
public void clearDb(){
repository.deleteAll();
}
@Test
public void createAccount(){
long id = 12;
Account u = new Account(id,"Tim Viz");
repository.save(u);
assertEquals(repository.findOne(id),u);
}
@Test
public void findAccountByUsername(){
long id = 12;
String username = "Tim Viz";
Account u = new Account(id,username);
repository.save(u);
assertEquals(repository.findByUsername(username),u);
}
Mi iniciador de aplicaciones Spring Boot:
@SpringBootApplication
@EnableJpaRepositories(basePackages = {"domain.repositories"})
@ComponentScan(basePackages = {"controllers","domain"})
@EnableWebMvc
@PropertySources(value {@PropertySource("classpath:application.properties")})
@EntityScan(basePackages={"domain"})
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
Mi repositorio:
public interface AccountRepository extends CrudRepository<Account,Long> {
public Account findByUsername(String username);
}
}
fuente
Application
se encuentra en. Sin embargo, si usted se refieresrc/main
ysrc/test
, a continuación, esas carpetas no son parte del paquete jerarquía. Quizás sea mejor que solo actualice su pregunta con una captura de pantalla o una explicación de cómo es la estructura de su proyecto.