#단위테스트

질문 3
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

일 년 전 · 익명 님의 새로운 댓글

springboot 테스트코드 작성 방법

테스트코드에 관해 공부하게되었습니다. 정해진 답은 없는 것 같은데 잘못 이해하고 사용하고 있다는 생각이 들어서 질문 글을 올리게 되었습니다. 선배님들의 도움이필요합니다. 유저와 게시글 entity가 있고 게시글을 생성하는 기능을 controller service repository 로 작성했습니다. 1. 단위테스트를 작성할때 mock을 사용하여 Service.save 메서드에 대해 any()와 같이 저장할 객체와 저장된 객체를 제가 직접 지정하다보니 끼워맞춰서 성공을 받아내는 느낌이 강해서 어떻게 사용해야 하는지 궁금합니다. 2. 여러 글들을 읽어보고 고민해보니 Service.duplicate와 같이 이메일 중복체크와 같은 예외가 발생하는 것은 단위테스트로 작성하고 나머지 즉, crud와 같이 DB를 사용해야하는 기능은 controller 통합테스트를 작성해서 확인해야할 것 같은데 맞는 생각인지 궁금합니다. 3. controller 통합테스트에서 update와 같이 의존성이 많이 엮여있을 때 작성방법이 궁금합니다. 제가 생각한 바는 아래와같은데 어디까지 직접생성해주어야 할까요.. - 사용자를 저장하고 게시글도 저장한다. - 게시글을 읽어와 사용자가 게시글의 작성자인지 확인한다 - 게시글을 수정한다 - 수정된 게시글에서 빈 값은 없는지 등 유효성 검사를 하고 게시글을 저장한다 - 다시 게시글을 읽어와서 정상적으로 수정되었는지 확인한다. 아직 부족한것이 많아 단어사용이나 방식이 정말 바보같을 수 있는 부분 양해부탁드립니다. 긴 글 읽어주셔서 감사드립니다. 마지막으로 혹시 참고할 만한 springboot 테스트 코드나 책 또는 강의가 있다면 알려주시면 좋겠습니다. 정말 감사드립니다.

개발자

#spring-boot

#spring

#spring-data

#testcode

#tdd

답변 1

댓글 1

추천해요 19

보충이 필요해요 1

조회 2,357

일 년 전 · 박범수 님의 새로운 답변

테스트 시 쿼리 검사 어떻게 하시나요?

저희 팀이 테스트 코드를 개선하고 있는데. 예전에 e2e 위주로 코드를 짰다가 나중에 일정이 밀리고 하면서 코드 유지보수가 안되더군요..ㅎㅎ; 해서 다시 짜는 중인데. 단위테스트로 코드를 짜보려고 하니, db 쿼리 검증이 고민입니다. 저희 팀은 현재는 raw query를 직접 짜서 프로그램을 작성합니다. dba는 따로 없구요.. 원칙적으로는 db 쿼리 결과값을 스텁 처리 하는게 맞고 그 취지는 이해가 가는데. 코드 로직에서 쿼리가 상당히 중요한 부분을 차지하고, 쿼리를 사람이 짜다보니 오류가 발생할 소지가 있습니다. 그래서 테스트 시 검사를 같이 하고 싶긴 한데요.. 추후에는 orm 전환을 고려하고 있지만 현재 일정상으로 당장 진행하기 어려워, 우선은 현재 기준으로 뭔가 쿼리를 검증하면 좋겠는데.. 방법이 뭐가 있을까요..? 좋은 의견이나 혹시 팀에서 이미 비슷한 고민을 해결하신 분이 계시면 의견을 듣고 싶습니다

개발자

#단위테스트

#백엔드

답변 1

댓글 0

조회 137

일 년 전 · 포크코딩 님의 새로운 답변

프론트엔드 테스트에서 단위,통합,E2E 중 하나만 해야한다면 무엇을 해야할까요

안녕하세요. Nextjs를 사용하는 프론트엔드 신입 개발자입니다. 새 플젝을 시작하면서 테스트를 도입하려고 하는데 단위->통합->E2E 전체를 다 하기엔 시간적, 인력적 여유가 없을거같아 셋 중 하나만 채택하기로 결정되었습니다. 이런 경우 어떤 테스트를 진행해야 할까요? 현재 동료와 의견이 갈리고 있습니다. (컴포넌트 UI 테스트는 스토리북을 도입할 예정입니다) 동료의견 : 테스트에 많은 시간 할애할 수 없으니까 통합테스트를 하자. 단위는 작성할 코드가 많아서 시간이 오래걸릴거같다. E2E는 단위,통합 이후 부가적으로 진행되어야 하는거지 'E2E만' 하는건 제대로된 테스트가 안될거같다. 이런측면을 고려했을 땐 '통합테스트'만 하는게 좋을거같다 제 의견 : E2E에 대한 의견은 공감한다. 그런데 테스트에 들어가는 노동력을 최소화 하려면 오히려 단위테스트를 진행해야 할거같다. 통합테스트는 여러 기능이 유기적으로 얽혀있는 테스트 코드를 작성해야하니 오히려 테스트코드 작성에 시간이 더 오래 걸릴수도 있을거같다. 그리고 테스트 과정에서 문제가 발생하더라도 어느 기능이 문제인건지 추적하려면 단위테스트보다 훨씬 시간이 걸릴거같다. 사실 회사마다, 개발자마다 의견이 다른건 알고 있습니다! 하지만 저희가 시니어나 중간급 개발자가 없는 입장이라 조언을 구할곳이 없어 여기에 질문해봅니다. 감사합니다.

개발자

#유닛테스트

#통합테스트

#e2e

#단위테스트

#react

답변 1

댓글 0

조회 196

일 년 전 · 김대현 님의 답변 업데이트

단위테스트의 정의가 궁금합니다

일반적으로 외부 의존성을 제외한 테스트, 로직만 테스트 하는 것을 단위테스트라고 하며 Network가 연결되어있지 않더라도 테스트가 통과되어야 한다고 알고 있습니다. 근데 cloud db를 사용하는데 단위테스트라고 혼용해서 말하시더라구요... 제가 잘못 이해하고 있나 싶어 질문드립니다.

개발자

#unittest

답변 3

댓글 0

추천해요 1

조회 328

2년 전 · 커리어리 AI 봇 님의 새로운 답변

Junit Mockito 단위테스트에서 @ConfigurationProperties 관련 질문 드립니다.

@ConfiturationPRoperties를 통해 외부변수 값을 가져오고, 해당 외부변수 값을 필드로 사용하는 클래스를 스프링 빈을 등록해둔 상태입니다. 테스트가 아닌 실제 어플리케이션 구동 시에는 외부변수 값이 스프링 빈에 제대로 적용되는 것을 확인했습니다. 그런데 @Spy를 통해 주입한 객체에는 외부변수 값이 적용되지 않아 null인 상태입니다. 이런 현상이 왜 발생하는지 궁금합니다. 그리고 해결 방법이 있는지 궁금합니다. 답변 부탁드립니다. 캡처 사진들은 관련된 코드들입니다.

개발자

#test

#mock

#java

#spring

답변 1

댓글 0

조회 220

일 년 전 · 심규민 님의 질문 업데이트

이제 3학년 올라가는데 얼마나 더 공부해야할까요?

작년 5월부터 지금까지 스프링 공부를 했습니다. 공부하는 기간동안 프로젝트 2번의 경험이 있습니다. 프로젝트를 진행하면서 security이용해서 jwt 구현하고 jpa도 사용해봤습니다. 또 단위테스트도 다 작성해봤습니다. 그런데 두번 모두 백엔드 개발자 2명이서 진행했습니다. 그래서 이번에 기획, 프론트엔드 개발자 모두 있는 개발동아리에 들어가거나 인터넷에서 프로젝트를 구할생각인데 취업전에 이러한 활동 말고도 어떤걸 더 준비하면 좋을까요?

개발자

#java

#spring

답변 2

댓글 3

추천해요 1

조회 270

2년 전 · 커리어리 AI 봇 님의 새로운 답변

테스트코드에 관련된 책 한 권만 추천 부탁드립니다

안녕하세요 1년차 백엔드 개발자입니다 최근들어 비즈니스 코드의 수정과 더불어 제 테스트 코드가 함께 변경이 필요한 부분을 보고 많은 공부의 필요성을 느꼈습니다 켄트 백 저자의 TDD책은 내용은 좋다고 하지만 제 스타일에 맞지않아 도저히 읽히지 않았습니다 블라디미르 코리코프 저자의 단위테스트 http://m.yes24.com/Goods/Detail/104084175 와 라쎄 코스켈라 저자의 이펙티브 유닛테스팅 http://m.yes24.com/Goods/Detail/11361087 책 중 고민하고 있으며 다른 책도 괜찮습니다 추천 부탁드립니다!

개발자

#테스트

#단위테스트

#유닛테스트

#책

답변 3

댓글 2

조회 3,403