묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 기반 REST API 개발
REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러
아래와 같이 perform 과정에서 validator -> serialize로 넘어가는 부분에서 json 이 eventDTO를 찾을 수 없다는 에러가 발생하여 json을 직렬화할 수 없어서 error 메시지가 반환되지 않아 test 실패가 나타나는 것 같습니다. 혹시 버전 차이로 인해 필요한 어노테이션이나 함수가 달라져 발생하는 문제일까요? 관련하여 검색해도 답안을 찾기 어려워서 질문 드립니다. 감사합니다.Inconvertible types; cannot cast 'org.example.springrestproject.Events.EventControllerTests' to 'org.springframework.test.util.JsonPathExpectationsHelper'No value at JSON path "$[0].objectName"java.lang.AssertionError: No value at JSON path "$[0].objectName" at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:302) at org.springframework.test.util.JsonPathExpectationsHelper.assertExistsAndReturn(JsonPathExpectationsHelper.java:326) at org.springframework.test.util.JsonPathExpectationsHelper.exists(JsonPathExpectationsHelper.java:190) at org.springframework.test.web.servlet.result.JsonPathResultMatchers.lambda$exists$3(JsonPathResultMatchers.java:123) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at org.example.springrestproject.Events.EventControllerTests.createEvent_Bad_Request_Wrong_Input(EventControllerTests.java:149) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)Caused by: java.lang.IllegalArgumentException: json can not be null or empty at com.jayway.jsonpath.internal.Utils.notEmpty(Utils.java:401) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:390) at com.jayway.jsonpath.JsonPath.read(JsonPath.java:377) at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:299) ... 8 more
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Pessimistic Lock 전체 테스트 오류 문의
안녕하세요. Pessimistic Lock 소스에서 각각의 테스트 하나하나는 통과하는데요. 테스트 코드 전체로 돌리면 에러가 나더라고요. public interface StockRepository extends JpaRepository<Stock, Long> { @Lock(LockModeType.PESSIMISTIC_WRITE) @Query("select s from Stock s where s.id = :id") Stock findByIdWithPessimisticLock(@Param("id") Long id); } StockServiceTest.javapackage com.example.stock.service; import com.example.stock.domain.Stock; import com.example.stock.repository.StockRepository; import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import static org.assertj.core.api.Assertions.assertThat; @SpringBootTest class StockServiceTest { @Autowired private PessimisticLockStockService stockService; @Autowired private StockRepository stockRepository; @BeforeEach public void before() { stockRepository.saveAndFlush(new Stock(1L, 100L)); } @AfterEach public void after() { stockRepository.deleteAll(); } @Test @DisplayName("재고1개 감소 테스트") public void 재고감소() { stockService.decrease(1L, 1L); //100 - 1 = 99 Stock stock = stockRepository.findById(1L).orElseThrow(); assertThat(stock.getQuantity()).isEqualTo(99L); } @Test @DisplayName("동시에 100개 요청 테스트") public void 동시에_100개_요청() throws InterruptedException { int threadCount = 100; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch countDownLatch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { executorService.submit(() -> { try { stockService.decrease(1L, 1L); } finally { countDownLatch.countDown(); } }); } countDownLatch.await(); Stock stock = stockRepository.findById(1L).orElseThrow(); assertThat(stock.getQuantity()).isEqualTo(0L); } } 이런 오류가 나는데 @BeforeEach에서 새로 등록하고 @AfterEach에서 delete를 해줘서 각각의 테스트에 영향이 없을거 같은데 왜 나는지 잘 모르겠어요 ㅠ github : https://github.com/nhs0912/stock
-
미해결
test
test
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트케이스 9:32 @Test
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)음..아니요[질문 내용]여기에 질문 내용을 남겨주세요.강의 9:32부분에서 에러가 나야되는데 spring2로 member1 이니까요,근데 저는 spring1도 초록불 save고spring2에서도 초록불이고심지어 spring21이여도 초록불이에요그 전까지는 강의 대로 결과가 나왔는데이건 아무리 바꿔도 결과가 강의랑 다르네요...어떻게 해야 에러가 뜰까요?????????????????save가 되면 안되는거잖아요....? MemoryMemberRepositoryTest 코드도 복붙해여주석은 신경쓰지말고 봐주세여; 한곳 이해못한것있는데 제가 설명을 못알아들어서요 확인되시면 설명도 추가적으로 부탁드릴래요package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.*;class MemoryMemberRepositoryTest {MemberRepository repository = new MemoryMemberRepository();@Testpublic void save() {Member member = new Member();member.setName("spring");repository.save(member);Member result = repository.findById(member.getId()).get(); //get:바로꺼내는게좋지는않지만테스트니ok//System.out.println("result = " + (result == member)); //이렇게 가져올수없으니assertThat(member).isEqualTo(result); //option + enter}@Testpublic void findByName() {Member member1 = new Member();member1.setName("spring1");repository.save(member1);Member member2 = new Member(); //shift + F6 중복이름 고칠때 같이 고쳐짐member2.setName("spring2");repository.save(member2);Member result = repository.findByName("spring1").get(); //한번까서?보낸다고요??이해못했음 <= 아, 이부분도 설명해주시면 좋을것같아용 히히assertThat(result).isEqualTo(member1);}}
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
테스트 코드 관련하여 질문
안녕하세요.nestjs boilerplate강의 관련해서 마지막에 users.service.spec.ts의 테스트 코드들에 대하여 설명을 해주신다고 하였는데 제가 찾지 못한건지 아니면 추후에 강의가 올라오는지 궁금합니다.
-
미해결
junit.jupiter의 Assertions 질문
Assertions를 입력했을때 웬 이상한 AssertionsKt가 뜹니다.왜이러는거죠?
-
해결됨토비의 스프링 부트 - 이해와 원리
안녕 하세요~~
강의 내용과 관련 없는 내용이기는 한데...너무 궁금한게 있어서요~~토비님은 스프링으로 실무를 하실 때 테스트를 어떻게 하시나요?컨트롤러, 서비스, 도메인 그외 등등 있을 때각자 다 테스트를 하시는지...고전파로 하시는지 런던파로 하시는지...좀 궁금합니다~~ 감사합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
test부분에서 Junit
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용] 저는 이클립스에서 코딩중인데요Junit 테스트 부분에 질문이 있습니다.JUnit 결과창에 Error는 없고 Failures만 하나뜹니다이것은 에러는 아니니 무시하고 넘어가도 되는 부분인가요?아니면 Failures에도 0이라고 하나도 안떠야 정상인가요 ???? 두번째 사진은 중복이 없을 경우 테스트 결과입니다.!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실무에서 Test Code 작성할 때 database에 접근하는 것에 대한 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Test code 에서 Member 로컬 변수로 초기화해서 repository에 저장한 후 assertThat 메서드를 활용하여 test 진행하는 것에 대해서 학습하였습니다.수업처럼 간단한 하드코딩이 아닌 실무 test 코드를 작성할 때는 이미 저장된 database에 접근하여 member를 받아온 후 이를 test code를 돌려보는 것이 더 정확하게 test를 할 수 있지 않을까요? test code 에서는 database에 접근하여 test를 하는 것이 아닌가요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
npm run test:e2e
수강생분들의 질문을 기다립니다! - 에러에 해당하는 질문은 "에러가 발생한 상황에 대한 충분한 설명", "에러 메세지", "에러가 난 코드 스크린샷"을 함께 첨부해주세요. - 언어에 해당하는 질문은 구글링 및 서치 후에 구체적으로 질문해주시면 좋습니다. - 간단한 진로 및 방향성에 대한 질문은 메일로 보내주세요.- 패키지 버전 관리은 실무 환경과 트랜드에 맞추어 강의를 업데이트 하고 있습니다. 강의를 그대로 따라갔는데 에러가 발생한다면 패키지 버전을 강의에서 사용하는 버전과 동일하게 맞춰주세요!- 강의 노트, QA 목록, 공지 사항을 먼저 확인해주세요.- 논리적이고 구체적인 질문은 학습 효과를 올립니다 :) 강의를 보시다가 혹시나 npm run test:e2e 를 돌려봤는데 npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! amamov.com@1.8.0 test:e2e: jest --config ./test/jest-e2e.jsonnpm ERR! Exit status 1npm ERR! npm ERR! Failed at the amamov.com@1.8.0 test:e2e script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in:npm ERR! /Users/anhyeongjun/.npm/_logs/2022-10-13T13_02_17_408Z-debug.log이런 error를 맞이하신다면 { "moduleFileExtensions": ["js", "json", "ts"], "rootDir": ".", "testEnvironment": "node", "testRegex": ".e2e-spec.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" }, "moduleNameMapper": { "^src/(.*)$": "<rootDir>/../src/$1" } } moduleNameMapper이부분이 들어가있는지 확인하신 후 없으면 넣어주면 test가 성공적으로 진행될 수 있습니다. 다만 윤상석 선생님 추가해서 test를 돌려보면 Jest did not exit one second after the test run has completed.This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with --detectOpenHandles to troubleshoot this issue. 이런 오류가 나는데 이유가 무엇일까요?
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
전체 테스트시 id 값 증가로 인한 실패
안녕하세요.단위테스트 할 때는 문제가 없으나 전체 테스트 할 때 PostControllerTest의 "글 여러개 조회" 테스트 와, "페이지를 0으로 요청하면 첫 페이지를 가져온다." 테스트 에서 에러가 납니다.Spring Rest Docs 생성에도 지장이 있어, 현재는 임시방편으로//.andExpect(jsonPath("$[0].id").value(30))둘 다 이 id 체크를 주석처리해놓고 진행하고 있습니다.구글링해서 찾아보니@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)이 방식으로 컨텍스트를 매번 재생성 하는 방법도 있다곤 하지만 이렇게 해도 에러가 나고, 성능이 안좋아진다고 합니다. 이런 문제는 보통 어떤식으로 해결하는지 궁금합니다! 추가로 호돌맨님은 강의에서 따로 이 부분이 걸리진 않던데 이유도 궁금하네요,,,
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 데이터 jpa 강의 관련 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 스프링 데이터 jpa 강의를 따라 코딩 중에, SpringDataJpaMemberRepository 인터페이스를 생성 후에 회원가입 테스트를 실행하였는데 자꾸 이런 에러가 뜹니다. 구글링 하면서 비슷한 사람들을 찾아 수정을 해봤는데 아직 오류를 못찾겠어서 질문 드립니다ㅜㅜ
-
미해결
[스프링 부트 테스트 질문] 스프링 어플리케이션 컴포넌트에 대한 테스트 방법 ( mock 을 안쓰는게 맞나요? )
질문 상황 1) 스프링 어플리케이션에 대한 테스트를 진행할 때, @SpringBootTest 를 적용함 2) 이 경우 테스트 코드 실행 시, 스프링 실행 환경에 필요한 객체들을 생성 3) 스프링 컴포넌트로 선언할 경우 객체 생성에 필요한 코드가 준비되어 있지 않은 경우, 스프링 부트가 실행되는 과정에서 에러가 발생-> 강의의 예시에선 StudyService 에 @Service 어노테이션을 붙이는 경우, private final MemberService memberService 를 불러오는 과정에서 에러가 발생.( Error creating bean with name 'studyService' defined in file ..... No qualifying bean of type 'app.member.MemberService' available) ------------------------------------------------------------------------------------------ 질문 : 스프링 부트 컴포넌트에 대한 mockito 사용방법 구체적인 질문 1) 위의 상황을 제가 잘 이해한게 맞나요 ? 2) 스프링 컴포넌트에 대한 테스트 방법을 대략적으로 알려주세요 ex 1) 일반적으로 객체 생성에 필요한 모든 클래스의 구현부가 나오기 전까지 테스트 하지 않는다. 따라서 mockito 사용에 대해 고민할 필요가 없다.ex 2) @Component , @service 어노테이션떼고 하고 싶은 테스트만 먼저 진행 하라3) 선생님 강의 중에 스프링 어플리케이션에 대한 전반적인 작업 과정을 관찰하고 싶으면 "백기선 - 스프링 기반 rest api 개발" 을 보면 될까요 ? 제가 아직 테스트 강의를 끝까지 안봐서 놓치고 있는 설명이 있을수도 있습니다. 유튜브 잘 보고 있어요. 구독잡니다수고하세요 :)
-
미해결스프링 핵심 원리 - 기본편
다시 복습하면서 테스트 코드 작성하는데 궁금한게 생겼습니다.
할인율을 적용하여 return 하는 과정에서 평소 습관대로 연산 과정에 따라 괄호 처리를 하였는데 원하는 값이 나오지 않아서 질문 남기게 되었습니다. 괄호가 없는 사진(아래) -원하는 테스트 결과 나옴 괄호가 있는 사진(아래) -원하는 테스트 결과 나오지 않음 테스트 코드도 첨부합니다. 처음 겪는 에러라서 스스로 찾아보는데 한계를 느껴 질문 남기게 되었습니다. 리턴시 괄호에 연산에 대한 특이 조건이 성립되는 것 인가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberServiceTest.java 에서 오류가 나는 이유
섹션 3 회원관리 예제 - 백엔드 개발을 학습 중에 있습니다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemoryMemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.Optional; import static org.assertj.core.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*; // Test 는 한글로 바꾸어도 된다 (실제 prodution 되는 코드는 한글 x) ,test 코드는 build 시 포함 안됨 class MemberServiceTest { // MemberService memberService=new MemberService(); // MemberService 에서 memberRepository 객체와 Test 에서의 memberRepository 객체가 달라서 // 객체 변수(store) 접근시 다른 store 로 접근할 수 있다 // 다른 repository 를 이용하기 때문에 문제가 된다 // MemoryMemberRepository memberRepository=new MemoryMemberRepository(); MemberService memberService; MemoryMemberRepository memberRepository; // test 전에 같은 memberRepository 를 가지도록 할 수 있다 (service 와 test 모두 같음) // 이와 같은 상황을 DI(Dependency Injection) 의존성 주입 이라고 한다 @BeforeEach // 각각의 test 메소드 실행 전에 호출되어 처리 public void beforeEach(){ memberRepository =new MemoryMemberRepository(); memberService=new MemberService(memberRepository); } // // test 실행될 때마다 store 를 지우게 된다 // @AfterEach // 각각의 test 메소드 실행 후에 호출되어 처리 // public void afterEach(){ // memberRepository.clearStore(); // } @Test void 회원가입() { //given : 이런 data 를 Member member=new Member(); member.setName("spring3"); //when : 이러한 경우에 Long saveId=memberService.join(member); //then : 검증 부분 Member findMember = memberService.findOne(saveId).get(); assertThat(member.getName()).isEqualTo(findMember.getName()); } // 예외인 경우가 터지는지 확인하는 것도 중요하다 @Test public void 중복_회원_예외(){ //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2)); // message 검증 assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); // try catch 활용 /* try{ memberService.join(member2); fail(); }catch (IllegalStateException e){ // 중복 예외 터져서 정상적으로 수행된 경우 assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } */ //then } @Test void findMembers() { } @Test void findOne() { } } 위와 같은 코드에서 제가 생각하기에 현재 @BeforeEach 에 의해서 test 메소드 실행전에 memberRepository와 memberService가 각각 new 연산자를 통해서 새롭게 메모리를 부여받는다고 생각합니다. 그래서 @AfterEach 코드가 없어도 매번 새로운 값이기 때문에 서로 중복되는 name을 가지면서 test를 해도 문제가 안된다고 생각하는데 @AfterEach를 생략하고 실행하니 회원가입 메소드에서 중복때문에 오류가 납니다. 제가 어떤 부분을 놓친 건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
앱 실행이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 이렇게 콘솔에 오류메세지가 뜨는데... ApplicationContext 에 문제가 있다는건 알겠습니다. 여기 TEST 실행파일도 있어서 실행하고 로그를 보니까 이렇게 나오더라구요, 여기 나온데로 뭐 해봐라 해서 해봤는데도 안돼네요.. 어떻게 해야할까요. 맞는 드라이버를 깔라는 오류 메세지도 본것 같은데 어떻게 깔아야하는지도 감이 잘 안오네요...
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원 테스트 NullPointException 에러
강의자료로 제공해주신 소스코드를 모두 확인했는데도 계속 NullPointException 에러가 납니다. 한 가지 다른 점이 있다면 @RunWith를 @ExtendWith으로 변경했습니다. 이유를 알 수 있을까요? java.lang.NullPointerException at jpabook.jpashop.service.MemberServiceTest.회원가입(MemberServiceTest.java:30) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Test 전체 실행에서 고객 중복 오류설명관련 문의드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]save를 통해서 저장할때 MemoryMemberRepository에서 ++sequence를 통해서 자체 id로 구분되어 저장되게 되어 있는데 왜 findByName()과 findAll()의 테스트에서 spirng1, spring2가 중복으로 오류가 나는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Gradle 테스트와 빌드 질문
Gradle에서 build를 할 경우 특별한 설정을 하지 않으면 test 코드를 사용하여 test가 통과해야만 build를 하더라구요. 그런데 본 강의에서 사용한 테스트 코드 같이 Mock 객체를 쓰지 않고 Spring 기능을 포함한 테스트 코드의 경우는 DB가 동작 중이거나 하지 않으면 test를 통과하지 못하고 build에 실패하는 문제가 있네요. Build를 할 때에는 이런 test 코드를 제외하는 것이 맞나요? 그런데 test 코드를 넣어야 잘못된 코드가 배포되는 것을 막을 수 있을 것이고 테스트 코드의 필요성은 있다고 생각합니다. 그렇다면 Mock 객체 등을 사용하여 외부 환경에 의존하지 않는 test 코드를 새로 짜는 것이 맞나요? Jenkins 등으로 배포를 할 때에도 프로젝트 내의 test 코드를 돌리는 것으로 알고 있는데 실제 업무 시에는 테스트 코드를 어떻게 짜고 있는지도 알려주시면 감사하겠습니다.
-
해결됨PHP 7+ 프로그래밍
assert테스트를 많이 사용하지 않는 이유가 궁금합니다 :)
안녕하세요! php 계속 공부를 하고 있는데요 수업을 듣다가 궁금한 점이 생겨서 이렇게 글을 남깁니다! 그래도 테스트를 하는것이 좋은거 같은데 왜 assert를 사용해서 테스트를 잘 하지 않는거죠? 아직은 제가 다 잘 몰라서 궁금해서 글을 써봐요 :)