Saya baru menggunakan frameworks (baru saja lulus kelas) dan ini adalah pertama kalinya saya menggunakan Spring Boot.
Saya mencoba menjalankan tes Junit sederhana untuk melihat apakah CrudRepositori saya memang berfungsi.
Kesalahan yang terus saya dapatkan adalah:
Tidak dapat menemukan @SpringBootConfiguration, Anda perlu menggunakan @ContextConfiguration atau @SpringBootTest (kelas = ...) dengan java.lang.IllegalStateException pengujian Anda
Tidak Spring Boot mengkonfigurasi sendiri?
Kelas Tes Saya:
@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);
}
Starter aplikasi Spring Boot saya:
@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);
}
}
Repositori Saya:
public interface AccountRepository extends CrudRepository<Account,Long> {
public Account findByUsername(String username);
}
}