"java junit과 annotation 소개"의 두 판 사이의 차이
simuruk wiki
(→참고링크) |
|||
92번째 줄: | 92번째 줄: | ||
* @ParameterizedTest | * @ParameterizedTest | ||
− | == 참고링크 == | + | ==참고링크== |
* [http://taewan.kim/post/junit4_annotation/ JUnit 4.x 어노테이션] | * [http://taewan.kim/post/junit4_annotation/ JUnit 4.x 어노테이션] | ||
* [https://bestalign.github.io/2016/07/08/intro-mockito-1/ junit mockito verify] | * [https://bestalign.github.io/2016/07/08/intro-mockito-1/ junit mockito verify] | ||
98번째 줄: | 98번째 줄: | ||
* [https://howtodoinjava.com/spring-boot2/testing/spring-integration-testing/ junit integration testing] | * [https://howtodoinjava.com/spring-boot2/testing/spring-integration-testing/ junit integration testing] | ||
* [https://yangbongsoo.gitbook.io/study/junit+mockito_vs_groovy+spock junit+mockito vs groovy+spock] | * [https://yangbongsoo.gitbook.io/study/junit+mockito_vs_groovy+spock junit+mockito vs groovy+spock] | ||
+ | * [https://mkyong.com/junit5/junit-5-nested-test-examples/ junit5 nested test] |
2020년 1월 28일 (화) 07:16 판
@BeforeClass : 테스트 클래스 내에서 수행 전 한 번만 실행, static method 여야 함
@AfterClass : 테스트 클래스 내에서 수행 후 한 번만 실행, static method 여야 함
@Before : 테스트 케이스 수행 전 반복실행
@After : 테스트 케이스 수행 후 반복실행
@Test : 테스트 메소드 지정
public void StringTest2() throws Exception{
assertEquals(true,false);
}
junit spring integration testing
@SpringBootTest(classes = SomeApplication.class,
webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class AuthControllerTest {
private static String token = null;
@LocalServerPort
private int port;
@Autowired
private TestRestTemplate restTemplate;
@Order(1)
@Test
@DisplayName("로그인")
public void login() {
HttpHeaders headers = new HttpHeaders();
AuthTokenRequestDto authTokenRequestDto = new AuthTokenRequestDto();
authTokenRequestDto.setId("someId");
authTokenRequestDto.setPassword("somePassword");
ResponseEntity<AuthTokenResponseDto> authTokenResponseDto
= restTemplate.exchange("http://localhost:" + port + "/v1/auth/token",
HttpMethod.POST,
new HttpEntity<>(authTokenRequestDto, headers),
AuthTokenResponseDto.class);
assertEquals(authTokenResponseDto.getStatusCode(), HttpStatus.OK);
assertNotNull(authTokenResponseDto.getBody().getToken());
token = authTokenResponseDto.getBody().getToken();
}
@Order(2)
@Test
@DisplayName("내정보 보기")
public void findUser() {
HttpHeaders headers = new HttpHeaders();
headers.add("SOME-TOKEN", token);
ResponseEntity<String> authUser
= restTemplate.exchange("http://localhost:" + port + "/v1/auth/user",
HttpMethod.GET,
new HttpEntity<>(headers),
String.class);
assertEquals(authUser.getStatusCode(), HttpStatus.OK);
assertNotNull(authUser.getBody());
}
@Order(2)
@Test
@DisplayName("마케터의 파트너 불러오기")
public void getPartnerByMarketer() {
HttpHeaders headers = new HttpHeaders();
headers.add("SOME-TOKEN", token);
ResponseEntity<PartnerResponseDto> partnerResponseDto
= restTemplate.exchange("http://localhost:" + port + "/v1/partners?marketerId={marketerId}",
HttpMethod.GET,
new HttpEntity<>(headers),
PartnerResponseDto.class,
"someData");
then(partnerResponseDto.getStatusCode()).isEqualTo(HttpStatus.OK);
then(partnerResponseDto.getBody().getPartnerDtoList().size()).isEqualTo(2);
}
}
정리 필요
- assertj
- hamcrest
- jupiter api
- @ParameterizedTest