스프링 후발대 실강
잇몸 프론트엔드 초반부
테스트코드 인프런 강의
들었다.
잇몸으로 만드는 프론트엔드 간략정리
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값과 연결되서 값을 가져옴
}
뭐 대충 요런 느낌
내일 나머지 강의 들어야 함
ArrayList | LinkedList | |
---|---|---|
구조 | 순서대로 늘어선 배열 | 자료 주소값으로 연결 |
추가/삭제 | 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에 대한 내용을 더 공부해야 함