๊ฐ๋ฐํ ๊ธฐ๋ฅ์ ์คํํด์ ํ ์คํธํ ๋ ์๋ฐ์ main ๋ฉ์๋๋ฅผ ํตํด์ ์คํํ๊ฑฐ๋,
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด์ ํด๋น ๊ธฐ๋ฅ์ ์คํํ๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ค๋นํ๊ณ ์คํํ๋๋ฐ ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ๋ฐ๋ณต ์คํํ๊ธฐ ์ด๋ ต๊ณ ์ฌ๋ฌ ํ ์คํธ๋ฅผ ํ ๋ฒ์ ์คํํ๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์๋ค.
์๋ฐ๋ JUnit์ด๋ผ๋ ํ๋ ์์ํฌ๋ก ํ ์คํธ๋ฅผ ์คํํด์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ตฌํ์ฒด ํ ์คํธ
package hello.hellospring.repository;
import hello.hellospring.domain.Member;
import org.junit.jupiter.api.Test;
public class MemoryMemberRepositoryTest {
MemoryMemberRepository repository = new MemoryMemberRepository();
@Test
public void save(){
Member member = new Member();
member.setName("spring");
repository.save(member);
Member result = repository.findById(member.getId()).get();
System.out.println("result =" + (result == member));
}
}
@Test : ๋ฉ์๋๊ฐ ์ ๋์ํ๋์ง ํ์ธ ๊ฐ๋ฅ , ๋ฉ์๋๋ฅผ ์คํ๊ฐ๋ฅํ๊ฒ ํด์ค
.get() : Optional ์์ ๊ฐ์ ๊บผ๋ผ ๋ ์ฌ์ฉ
์ ์ฅํ member(= new member() ) ๋ DB ์์ ๊บผ๋ธ member(=result) ๊ฐ ๋๊ฐ์ผ๋ฉด ์ฐธ
์ฝ์ ์ฐฝ์์ ๊ฒ์ฆ ๊ฐ๋ฅํ์ง๋ง ๊ณ์ ๋ณผ์๋ ์๊ธฐ์
Assertions ๊ธฐ๋ฅ ์ฌ์ฉ
1) junit.jupiter
Assertions.assertEquals(member, result);
2) assertj.core
Assertions.assertThat(member).isEqualTo(result);
import static org.assertj.core.api.Assertions.*;
assertThat(member).isEqualTo(result);
๊ฐ์ด ์ผ์นํ ๊ฒฝ์ฐ
Assertions.assertEquals(member, null);
Assertions.assertThat(member).isEqualTo(null);
๊ฐ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ
findByName ๋ฉ์๋ ํ ์คํธ
@Test
public void findByName() {
Member member1 = new Member();
member1.setName("spring1");
repository.save(member1);
Member member2 = new Member();
member2.setName("spring2");
repository.save(member2);
Member result = repository.findByName("spring1").get();
assertThat(result).isEqualTo(member1);
์ผ์นํ์ง ์์ ๊ฒฝ์ฐ
Member result = repository.findByName("spring2").get();
assertThat(result).isEqualTo(member1);
findAll ๋ฉ์๋ ํ ์คํธ
@Test
public void findAll(){
Member member1 = new Member();
member1.setName("spring1");
repository.save(member1);
Member member2 = new Member();
member2.setName("spring1");
repository.save(member2);
List<Member> result = repository.findAll();
assertThat(result.size()).isEqualTo(2);
}
๊ฐ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ
assertThat(result.size()).isEqualTo(3);
ํ ์คํธ ํด๋์ค ์คํ
ํ๋ฒ์ ์ฌ๋ฌ ํ ์คํธ๋ฅผ ์คํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ DB์ ์ง์ ํ ์คํธ์ ๊ฒฐ๊ณผ๊ฐ ๋จ์ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ๋ค์ ์ด์ ํ ์คํธ ๋๋ฌธ์ ๋ค์ ํ ์คํธ๊ฐ ์คํจํ ๊ฐ๋ฅ์ฑ์ด ์๋ค
๋ฐ์ดํฐ๋ฅผ ํด๋ฆฌ์ด ํด์ค์ผํจ
@AfterEach ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํ ์คํธ๊ฐ ์ข ๋ฃ๋ ๋ ๋ง๋ค(๋ฉ์๋ ์คํ์ด ๋๋ ๋ ๋ง๋ค ) ์ด ๊ธฐ๋ฅ์ ์คํํ๋ค.
์ฌ๊ธฐ์๋ ๋ฉ๋ชจ๋ฆฌ DB์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค.
ํ ์คํธ๋ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋์ด์ผ ํ๋ค. ํ ์คํธ ์์์ ์์กด๊ด๊ณ๊ฐ ์๋ ๊ฒ์ ์ข์ ํ ์คํธ๊ฐ ์๋๋ค.
public void clearStore() {
store.clear();
}
ํ ์คํธ ํด๋์ค์ ๋ฉ์๋ ์ถ๊ฐ
@AfterEach
public void afterEach() {
repository.clearStore();
}
๊ฐ ํ ์คํธ๊ฐ ์ข ๋ฃ๋ ๋ ๋ง๋ค ๋ฐ์ดํฐ๋ฅผ ํด๋ฆฌ์ด
'Spring > Spring ์ ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง ์ ๋ฌธ - (11) ํ์ ์๋น์ค ํ ์คํธ (0) | 2023.01.20 |
---|---|
์คํ๋ง ์ ๋ฌธ - (10) ํ์ ์๋น์ค ๊ฐ๋ฐ (0) | 2023.01.20 |
์คํ๋ง ์ ๋ฌธ - (8) ํ์ ๊ด๋ฆฌ ์์ (0) | 2023.01.15 |
์คํ๋ง ์ ๋ฌธ - (7) API (0) | 2023.01.12 |
์คํ๋ง ์ ๋ฌธ - (6) MVC์ ํ ํ๋ฆฟ ์์ง (0) | 2023.01.12 |