Tôi chưa quen với các khung công tác (vừa qua lớp) và đây là lần đầu tiên tôi sử dụng Spring Boot.
Tôi đang cố gắng chạy thử nghiệm Junit đơn giản để xem CrudRepositories của tôi có thực sự hoạt động không.
Lỗi tôi tiếp tục nhận được là:
Không thể tìm thấy @SpringBootConfiguration, bạn cần sử dụng @ContextConfiguration hoặc @SpringBootTest (class = ...) với bài kiểm tra java.lang.IllegalStateException của bạn
Spring Boot không tự cấu hình?
Lớp kiểm tra của tôi:
@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);
}
Khởi động ứng dụng Spring Boot của tôi:
@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);
}
}
Kho lưu trữ của tôi:
public interface AccountRepository extends CrudRepository<Account,Long> {
public Account findByUsername(String username);
}
}