ํ ์คํธ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ๋ฐํ๊ฐ ์๋ ๋ฉ์๋๋ฅผ ํ ์คํธํด์ผํ ๊ฒฝ์ฐ๊ฐ ์๊ฒผ๋ค.
์ด ๋ฉ์๋๋ Message๋ฅผ ๋ณด๋ด๋ ๊ธฐ๋ฅ์ ํ๋ ๋ฉ์๋์ด๊ธฐ ๋๋ฌธ์ ๋ด๋ถ์์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๊ณ , ๋ก๊ทธ ์ ์ฅ ํ ๋ฐํํ๋ ๊ฐ์ด ์๋ค.
๋๋ ์ด ๋ด๋ถ์์ ๋ฐ์ดํฐ ์ ์ ๊ฐ ๋๋ ํ ๋ง์ง๋ง์ private send(RequestDto request) ์ ์ ๋ฌ๋๋ RequestDto ๋ฅผ ์๊ณ ์ถ์๋ค.
private sendMessageList(){
// ๋ฐ์ดํฐ ์ ์
send(reqeust);
}
private send(RequestDto request){
// ์ค์ ๋ก ์ ์ก
}
์ด๋, ArgumentCaptor ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
@Test
void sendMessageTest() {
sendService.sendMessageList(new OtherRequest(anyLog()));
// ๋ชจ์ ๊ฐ์ฒด์ ์ ๋ฌ๋ ํน์ ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์๋๋ก ํด์ค๋ค.
ArgumentCaptor<RequestDto> captor = ArgumentCaptor.forClass(RequestDto.class);
// sender ๋ผ๋ ๋ชจ์ ๊ฐ์ฒด๊ฐ send() ๋ฉ์๋๋ฅผ ๋ถ๋ ์ ๋์ ์ธ์๋ฅผ ํฌํํ๋ค
verify(sender).send(captor.capture());
RequestDto reqeust = captor.getValue();
// ํฌํ๋ ๊ฐ์ฒด์ ๋ด๊ฐ ๊ธฐ๋ํ๊ณ ์๋ ์ ์ ๋ ๋ฐ์ดํฐ์ ์ผ์นํ๋์ง ํ์ธํ๋ค.
// ์ฃผ์๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ usingRecursiveComparison ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ์ด ๊ฐ์์ง๋ง ํ์ธํ๋ค.
assertThat(request).usingRecursiveComparison().isEqualTo(
new ReqweustDto("๋ด๊ฐ ๊ธฐ๋ํ๊ณ ์๋ ์ ์ ๋ ๋ฐ์ดํฐ"));
}
verify ๋ ํด๋น ๋ฉ์๋๊ฐ ๋ญํ๋์ ํ๋์ง ๊ธฐ๋กํ๊ณ ์๋ค. ์ฌ๊ธฐ์ RequestDto ๋ฅผ ArgumentCaptor ๋ก ๊ฐ์ผ ๊ฐ์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ์ ๋ฃ์ด์ฃผ๋ฉด RequestDto ํด๋์ค์ ๋ํ ํ๋์ ์ถ์ ํ๋ค.
๊ฟํ์๋ค
usingRecursiveComparison ๋ฅผ ์ฌ์ฉํ๋ฉด equals ๋ฅผ ์ฌ์ ์ํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์์ฑ๋ง ๋น๊ตํ๊ธฐ ๋ฑ ์ข๋ค ๊ฐ๊ฟ assert
'TESTING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ดํํฐ๋ธ ์ํํธ์จ์ด ํ ์คํ : ์ฌ๋ก ์ค์ฌ์ผ๋ก ๋ฐฐ์ฐ๋ ์ค์ ์ํํธ์จ์ด ํ ์คํธ ๊ฐ์ด๋ (0) | 2023.04.21 |
---|