TIL 23.01.30

쓰옹·2023년 1월 30일
0

개발자를 향해~~TIL✍

목록 보기
77/87

오늘뭐함?

스프링 후발대 실강
잇몸 프론트엔드 초반부
테스트코드 인프런 강의
들었다.

잇몸프론트엔드

잇몸으로 만드는 프론트엔드 간략정리
codpen.io / bootstrap 등 코드 붙여넣기로 하면 됨

css -> <style>...</style>
js -> <script>...</script>

(html)
onclick = "singup()"
 <label>
        <span>아이디</span>
        <input type="text" id="username" />
 </label>

<script>
  function signup() {
  	포스트맨 jQuery 복붙
    $('username').val() // id값과 연결되서 값을 가져옴
  }

뭐 대충 요런 느낌
내일 나머지 강의 들어야 함

후발대 강의

어레이리스트 & 링크드리스트 정리

ArrayListLinkedList
구조순서대로 늘어선 배열자료 주소값으로 연결
추가/삭제O(N)O(1)
참조O(1)O(N)
데이터추가새로운 메모리 공간 할당노드만 추가
정리데이터에 접근하는 경우가 빈번한 경우 사용삽입과 삭제가 빈번한 경우 사용

ArrayList는 대량의 데이터에 대하여 추가/삭제에는 불리하고, 참조에는 유리하다. 반면 LinkedList는 대량의 데이터에 대하여 참조에는 불리하고, 추가/삭제에는 유리하다.

인프런 강의

테스트코드에서 POJO로 구현하고 그걸 스프링으로 바꾸고 apiTest로 하고 그런 순으로 강의를 한다.
에러

Error creating bean with name 'com.inflearn.productorderservice.product.ProductApiTest': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'local.server.port' in value "${local.server.port}"
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.inflearn.productorderservice.product.ProductApiTest': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'local.server.port' in value "${local.server.port}"
	at app//org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)

구글링해보니 테스트 격리나 뭐 이런 느낌의 오류인 것 같은데
에러메세지를 보니 Autowired 의존성 주입 에러인데 local.server.port를 찾지 못한다는 것 같다.
코드를 눈씻고 찾아보니

@SpringBootTest
class ProductApiTest extends ApiTest {

    @Test
    void 상품등록() {
        final AddProductRequest request = 상품등록요청_생성();

//        productService.addProduct(request);
        // API 요청으로 변경
       final ExtractableResponse<Response> response = RestAssured.given().log().all() // 요청을 보내는 로그를 남기겠다
                .contentType(MediaType.APPLICATION_JSON_VALUE)
                .body(request)
                .when()
                .post("/products")
                .then()
                .log().all().extract();

        assertThat(response.statusCode()).isEqualTo(HttpStatus.CREATED.value());
    }
...

// ApiTest.java
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class ApiTest {

    @LocalServerPort
    private int port;

    @BeforeEach
    void setUp() {
        RestAssured.port = port;
    }
}

apiTest.java를 상속받은 ProductApiTest.java에도 @SpringBootTest를 붙여서 문제가 생긴 것 같았다.
ProductApiTest.java에 @SpringBootTest를 지우니까 해결됨.

@SpringBootTest에 대한 내용을 더 공부해야 함

profile
기록하자기록해!

0개의 댓글