KOSA Spring - test 예제

채정윤·2025년 4월 17일

Spring

목록 보기
5/25

중요 요약

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j

코드

root-context.xml

	<context:component-scan base-package="org.zerock.sample"></context:component-scan>

Chef.java

package org.zerock.sample;

import org.springframework.stereotype.Component;
import lombok.Data;

@Component
@Data
public class Chef {
	private String name;
}

Restaurant.java

package org.zerock.sample;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Component
@Data
@AllArgsConstructor // 생성자
@NoArgsConstructor // 디폴트생성자
public class Restaurant {
	@Autowired
	private Chef mainChef;

}

SampleTests.java

package org.zerock.sample;

import static org.junit.Assert.*;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import lombok.extern.log4j.Log4j;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
@Log4j
public class SampleTests {
	
	@Autowired
	private Restaurant restaurant;

	@Test
	public void test() {
		assertNotNull(restaurant);
		log.info(restaurant); // 자동으로 toString호출
		log.info(restaurant.getMainChef());
	}

}

0개의 댓글