본문 바로가기
Spring Boot

[Spring Boot] #3 / 스프링 부트 3일차

by haeun 하은 2022. 11. 12.
728x90

maven/servelt

Junit

java 에서 독립된 단위테스트를 지원해주는 프레임워크

 

📌 어노테이션

@Test : 테스트 수행 메서드

@Before : 테스트와 함께 사용, Test 어노테이션 메소드 실행 전 반드시 실행되는 메서드

@After : 테스트와 함께 사용 , Test 어노테이션 메소드 실행 후 반드시 실행하는 메서드

@Ignore: 테스트 skip

 

@SpringBootTest
public class Search {
	
		//자바 코드로 DB정보 받아내기 (JPA)
	
		//service 추가하기(리파지토리-> DAO,MApper 역할을 한다.)
		@Autowired
		private QuestionRepository qr;//인터페이스->JpaRepository을 상속 받고 있었음
		
		@Test
		void testJpa() {
			//데이터 조회    /all ->인스턴스
			List<Question>all = this.qr.findAll();
			//assertEquals(기대값,실제값)
			//기대값이 실제값과 동일하지 않으면 테스트는 실패 처리한다.
			assertEquals(1, all.size());
			
			Question q = all.get(0);
			assertEquals("테스트중입니다.", q.getSubject());
		}
		
		

}

 

//기대값이 실제값과 동일하지 않으면 테스트는 실패 처리한다.
assertEquals(1, all.size());

JUnit [error] 실제 데이터은 4개인데 1개라고 했다. 라는 의미

🍃application.properties
spring.jpa.properties.hibernate.format_sql =true
spring.jpa.properties.hibernate.show_sql=true

넣어두고 gradle 업데이트, 서버 업데이트 후 JUnit 실행하면 콘솔에 쿼리문이 보인다.

------------------------

mainController

@RequestMapping("/question/list")
	@ResponseBody
	public String list(){
	
		return "질문목록";
	}

🦏build.gradle

implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-laylout-dialect'

 

 

 

서비스 없이 직접 호출하기

 

서비스 넣어서 호출하기

 

 

<!-- thymeleaf <a>에 링크 넣는 방법 -->
<a th:href="@{|/question/detail/${question.id}|}" th:text ="${question.subject}">

|문자열과 문자열을 더할때 -> 쿼리할때도 있음

 

 

728x90
반응형

댓글