
์ด์ ์ ํฌ์คํธ์์ ํ
์คํธ์ฉ db h2 ์ค์ ๊น์ง ๋ง์ณค๋ค.
์ด์ด์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๋ ค๊ณ ํ๋ค.
@ExtendWith(SpringExtension.class)
@DataJpaTest
@ActiveProfiles("test") // application-test.properties ์ ์ฉ
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.ANY) // H2 ์ฌ์ฉ
public class CampusRepositoryV2Test {
@Autowired
private CampusRepositoryV2 campusRepository;
@Test
@DisplayName("๋น ๋ฑ๋ก ํ
์คํธ")
public void CampusRepositoryIsNotNull() {
assertThat(campusRepository).isNotNull();
}
}
๋ ํฌ์งํ ๋ฆฌ ๋น์ด ๋ฑ๋ก๋์๋์ง ๋จผ์ ํ ์คํธํด๋ณด๋ ค๊ณ ํ๋ค.
@Repository
public interface CampusRepositoryV2 extends JpaRepository<CampusEntity, Integer> {
}
๋ ํฌ์งํ ๋ฆฌ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์๋ค.
JpaRepository ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ผ๋ฉด @Repository ์ด๋
ธํ
์ด์
์ ๋ฐ๋ก ๋ฌ์์ฃผ์ง ์์๋ ์๋ ๋ฑ๋ก๋๋ค๊ณ ํ๋ค.
๊ทธ๋ฅ ํ์คํ ํ๊ธฐ ์ํด ์ด๋
ธํ
์ด์
์ ๋ฌ์๋์๋ค.
๐จ UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer'
์ด์ ์ ์ด๋ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.
์ด ์ค๋ฅ๋ ํ
์คํธ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(DataSource)๋ฅผ ์ด๊ธฐํํ๋ ๊ณผ์ ์์ ๋ฐ์ํ์๋ค. Spring Boot๊ฐ DataSourceScriptDatabaseInitializer๋ฅผ ์์ฑํ๋ ค๊ณ ํ๋๋ฐ, ํ์ํ ๋น(์: DataSource)์ ์ฐพ์ ์ ์์ด์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค.
@DataJpaTest๋ ๊ธฐ๋ณธ์ ์ผ๋ก H2 (์ธ๋ฉ๋ชจ๋ฆฌ DB)๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ์๋ํ๋๋ฐ, application.yml ๋๋ application.properties์ H2 ๊ด๋ จ ์ค์ ์ด ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.๐๐ผ ํ
์คํธ์ฉ application-test.properties ํ์ผ์ ์์ฑํด h2 ์ค์ ์ ํด์ค์ผ๋ก์จ ํด๊ฒฐํ ์ ์์๋ค.

ํ
์คํธ ์คํ ์ ์ด์ DB๊ฐ ์๋๋ผ application-test.properties๊ฐ ์ ์ฉ๋๋๋ก ์ค์ !

test successโ