Frameworks19 [Springboot] JUnit 통합테스트 개념 정리 [김영한님의 스프링 입문-코드로 배우는 스프링부트, 웹 MVC, DB접근 기술을 학습 후 정리한 내용입니다.] JUnit 단위테스트는 앞에서 간단하게 다뤄봤듯이 순수 자바코드를 이용해서 스프링을 불러오지 않고 실행하는 테스트이다. 지금 다뤄볼 것은 실제DB를 연동해서 테스트하는 방식이기 때문에 스프링을 실행시키고 해야 하는데, 바로 이때 통합테스트를 한다. 통합테스트는 실제 운영 환경에서 사용될 클래스들을 통합하여 테스트한다. 단위테스트에 비해 달라진점? @SpringBootTest @Transactional @Autowired memberService.join(member2)); assertThat(e.getMessage()).isEqualTo("중복된 회원이 있습니다."); } } Colored by.. 2022. 7. 8. [Springboot] 간단한 회원 서비스 + JUnit test [김영한님의 스프링 입문-코드로 배우는 스프링부트, 웹 MVC, DB접근 기술을 학습 후 정리한 내용입니다.] 회원서비스는 회원가입시에 join()에서 중복아이디만 예외처리해주었고 이외에 findMembers(), findOne()메서드를 정의했다. 서비스에서 호출하는 모든 DB접근 메서드는 앞전에 MemberRepository에 정의해두었고, 별도로 MemoryMemberRepository클래스를 만들어서 MemberRepository의 메서드를 구현해논 상태이다. [MemberService.java] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41.. 2022. 7. 7. [Django] ~ 장고프로젝트 앱 생성까지 진행 장고프로젝트 생성 ~ 앱 생성까지 참고한 블로그 https://velog.io/@nonasking/Django-tutorial-Django%EB%A1%9C-%EC%95%B1-%EB%A7%8C%EB%93%A4%EA%B8%B0 Django tutorial: Django로 앱 만들기 장고의 기능과 기본 프레임 포스팅Django tutorial: Django로 앱 만들기 예제(https://docs.djangoproject.com/ko/3.1/intro/tutorial01/)기본 순서(아래 3개끼리는 순서 상관 없음)가상환경, 디렉토리 세팅 velog.io 2022. 5. 30. [Django] settings.py에서 SECRET KEY 관리하기 프로젝트를 github에 올릴 때 조심해야될 사항 중 한가지가 비밀 키를 노출시키면 안된다는 것이다. AWS cloud를 이용할 때에도 AWS access key나 secret key들을 장고의 settings.py에 다 넣어놓게 되는데 이거 노출되면 과금폭탄 맞을수도 있다. 따라서 api key(노출돼도 괜찮은 api key도 존재한다)을 포함한 여러가지 key값에 대해서 관리가 필요하다. 기존에는 최상위폴더에 secrets.json파일을 따로 만들어서 아래 사진과 같이 settings.py에서 secrets.json의 경로를 알려주고 secrets.json파일을 gitignore에 등록하는 방식으로 관리했는데,, 이번에 설명할 방법은 json파일이 아닌 python파일로 간단하게 관리하는 방식이다. .. 2022. 5. 18. [Django] form입력 받는 세가지 방법 이전에 했던 프로젝트에서는 장고에서 form을 사용할 때 html파일에서 태그를 이용해서 작성했다. codelion강의를 듣다가 훨씬 더 편리한 방법이 있다는걸 깨닫고.. 까먹지 말자는 차원에서 다시 정리하는 글이다. 우선 모델은 다음과 같이 title, body, date속성을 갖는 Blog모델을 하나 정의했다. 1 2 3 4 5 6 7 8 9 10 11 # models.py from django.db import models class Blog(models.Model): title = models.CharField(max_length=200) body = models.TextField() date = models.DateTimeField(auto_now_add=True) def __str__(self.. 2022. 5. 12. [Django] static파일 관리하기 웹서비스 내부 데이터를 다음과 같이 둘로 나눌 수 있다. static: 미리 준비된 데이터(css, js, img파일) media: 사용자가 업로드한 데이터(웹상에서 동적으로 부여되는 파일) 우선 본인도 장고로 프로젝트를 해봤지만, 배포단계를 거치지 않는 바람에 static파일들에 대해서 잘 모른채로 그냥 static 폴더를 만든 다음에 css나 js 파일을 만들어서 당연하다 싶이 사용한 경험이 있다. 후에 장고기반 프로젝트에 꼭 필요하다 싶은 내용일 것 같아 다시 정리를 해보았다. 장고는 settings.py에서 STATIC_URL, STATICFILES_DIRS, STATIC_ROOT세개로 static파일들을 관리한다. 그럼 다음 세가지의 변수가 무엇을 의미하는지 살펴보자. STATIC_URL 브라우.. 2022. 5. 11. 이전 1 2 3 4 다음