재난지도 프로젝트 test
assertThat을 이용한 test
import org.assertj.core.api.Assertions;
- SpringBootTest
- Autowired
@SpringBootTest
public class serviceTest {
@Autowired DMserviceInterface dMservice;
@Autowired DMrepository dMrepository;
@Test
void join() throws SQLException {
DM dm = new DM("02", "홍수", "서울대", "서울대 주소", new LatLng(126.231, 35.89));
Long id = dMservice.join(dm);
dm.setId(id);
DM newDm = dMservice.findDM(id);
System.out.println(dm);
System.out.println(newDm);
dm.setDate(new Date(15));
newDm.setDate(new Date(15));
Assertions.assertThat(dm).usingRecursiveComparison().isEqualTo(newDm);
}
}
database 데이터를 이용한 test
- 실수형 data는 real type이 아닌 numeric을 이용하여 저장하는 것이 본래의 원본과 저장된 값과의 차이가 없음(real type은 오차가 살짝 큼)
- date의 경우에는 하나의 값으로 설정하여 같다고 비교함
object비교(object안의 object)
- 기본 object끼리의 값비교는 equals를 통해 가능하다
- object안에 attribute로 object가 있다면 그것도 비교를 해주어야한다. 즉, equals로는 모두다 비교가 안되어 원하는 값이 도출되지않는다. 이를 위해 나온 method는 usingRecursiveComparison이다. 이는 말그대로 object를 재귀적으로 계속 들어가서 비교하는 method이다.