SpringBootメンバー管理例#4
5319 ワード
出典:私たちはあなたのスピーチと理解を投稿に書きます.
スプリング入門レッスン
メンバー管理の作成
フォルダの作成 domain repository service domain Member :
単純メンバーid、name、getter、setterのみ を持つ
repository MemberRepository :
インタフェースファイルで実現されるので抽象的な方法で構成されています
save()、findyById()、findByName()およびfindAll()からなる
抽象クラスとインタフェースの違いは、抽象的な方法を持っていることです.
インタフェースは抽象的な方法のみで構成され,何の実現もない.
抽象クラスは一般的な方法もあれば,抽象的な方法もあるクラスである.
MemoryMemberRepository:MemberRepository継承クラス
各機能の実現
Mapを使用してオブジェクトを保存する
Optionalを使用してnull を管理する
service MBERService:実際のビジネスロジックを実現するクラス
会員登録(重複会員検証)、会員照会の機能構成 会員管理テスト
テストケースで開発された機能を実行し、mainメソッドで実行できます.
準備に時間がかかり、繰り返しが難しく、「複数のテストを一度に完了」
欠点は実施が困難であり、これらの問題を解決するために を用いることである.テストファイルは、同一フォルダの同一ファイル名の後にTestを加えて生成された である. ctrl+shift+tは、 を容易に生成することができる.各機能前@Test 分記入が容易 MemoryMemberRepositoryTest
@AfterEachを使用すると、各メソッドはテスト後に実行され、テストが終了するたびにclearStore()を使用してリポジトリを空にします.
save()テスト:
Attentions.assertThat().isEqualsTo(b)の使用
a、bが同じ値であることを確認する
Attentionsではalt+enterを使用して静的インポートできます
MemberServiceTest
重複メンバーテスト:
スプリング入門レッスン
メンバー管理の作成
フォルダの作成
単純メンバーid、name、getter、setterのみ
repository
インタフェースファイルで実現されるので抽象的な方法で構成されています
save()、findyById()、findByName()およびfindAll()からなる
抽象クラスとインタフェースの違いは、抽象的な方法を持っていることです.
インタフェースは抽象的な方法のみで構成され,何の実現もない.
抽象クラスは一般的な方法もあれば,抽象的な方法もあるクラスである.
各機能の実現
Mapを使用してオブジェクトを保存する
Optionalを使用してnull
service
会員登録(重複会員検証)、会員照会の機能構成
テストケース
準備に時間がかかり、繰り返しが難しく、「複数のテストを一度に完了」
欠点は実施が困難であり、これらの問題を解決するために
@AfterEachを使用すると、各メソッドはテスト後に実行され、テストが終了するたびにclearStore()を使用してリポジトリを空にします.
save()テスト:
Attentions.assertThat().isEqualsTo(b)の使用
a、bが同じ値であることを確認する
Attentionsではalt+enterを使用して静的インポートできます
MemoryMemberRepository memoryMemberRepository =
new MemoryMemberRepository;
//이렇게 생성하면 그냥 MemberService와는 다른 객체가 되어버린다
//그래서 MemberService를
//외부에서 입력받도록 바꿈
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
//이후에
//테스트하기전마다 실행되는 코드
@BeforeEach
public void beforeEach(){
//DI
memoryMemberRepository = new MemoryMemberRepository(); //생성후
//memberService 에 넣어준다
//이러면 같은 repository를 외부에서 넣어주기때문에 같은걸 사용가능
memberService = new MemberService(memoryMemberRepository);
}
// (터질 예외 , 로직)
Assertions.assertThrows((IllegalStateException.class, () -> memberService.join(member2));
assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다");
//이런식으로 예외 문구를 검증할 수 있다
Reference
この問題について(SpringBootメンバー管理例#4), 我々は、より多くの情報をここで見つけました https://velog.io/@supark0206/Spring-Boot-회원-관리-예제4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol