# matcher

9개의 포스트

Jest - Matcher를 사용해보자 (toBe, toEqaul, toMatch, toContain, toThrow)

Jest 사용해보기! jest에서는 Matcher를 사용하여 테스트를 진행할 수 있다. 공식문서에 있는 몇가지 매처를 사용해보았다. toBe() 완전히 똑같을 때 toBe를 사용할 수 있다. expect에 검증하고자 하는 것을 넣고 toBe는 기대하는 값을 작성해주면 된다. 1+1은 2이기 때문에 이 테스트 코드는 성공하는 것을 확인할 수 있다. toBe는 정확히 동일해야 하므로 숫자나 문자열을 테스트할 때 적합하다. 만약, Object를 검증하는 경우 toEqual 또는 toStrictEqual을 사용해주어야 한다. toEqual(), toStrictEqaul() > Jest의 Matcher 종류중 toEqual과 toStrictEqual은 어떤 차이점이 있을까

2022년 11월 8일
·
0개의 댓글
·
post-thumbnail

React 104.02 _ Matcher

앞서 toBe 라는 Matcher를 사용해 테스트코드를 작성했다. 외에도 자주사용하는 Matcher 몇 개를 테스트 해보려 한다. toEqual 오브젝트를 비교할 때 사용하는 Matcher index.js에 추가해 준다 person 함수는 name과 age 매개변수를 전달받아 person 오브젝트를 반환하는 함수이다 indes.test.js 파일에 추가한다. 자바스크립트에서는 오브젝트의 내용이 같아도 다른 값으로 인식한다. 따라서 단순히 person함수를 통해 생성한 값과 toEqual에서 사용한 값을 단순비교(===)하면 다른 값이라고 판단한다. 이런 문제 때문에 Jest 에서 오브젝트를 테스트 할 때는 toEqual을 사용해 테스트한다. 만약 이곳에 toBe를 사용하면 에러가 발생한다. 이렇게 파일을 수정하면 역시 자동으로 테스트가 된다. ![](https://velog.velcdn.com/

2022년 10월 13일
·
0개의 댓글
·
post-thumbnail

jest 입문하기 2

jest의 matcher의 대해 오늘은 공부했고 이야기 해볼까한다. 먼저 makeUser라는 함수가 있다. 이름과 나이를 받아 객체로 리턴하는 함수이다. 그럼 테스트 코드를 어떻게 작성 할 수 있을까? 위 테스트코드에서 toBe 대신 toEqual를 사용했다. > toEqual은 toEqual은 객체나 배열의 모든 필드를 재귀적으로 확인합니다. 라고 공식문서에 쓰여있다. > 이러한 이유로 toBe로 비교를 확인하게된다면 If it should pass with deep equality, replace "toBe" with "toStrictEqual" 위 matcher들은 이름 그대로 null인지 undefined인지 혹은 defined인지 나타낸다. 예시 위 코드처럼 작성 할 수 있다. toBeFalsy

2022년 9월 10일
·
0개의 댓글
·
post-thumbnail

[Java] CamelCase, Snake_Case 상호 변환, 그리고 replaceAll 의 한계

Camel Case Snake_Case 상호변환하는 코드를 작성해본다. 그리고 이 과정에서 알아낸 replaceAll 의 한계점도 작성해둔다. 참고로 Spring boot(v.2.7.1) 프로젝트 생성 후, Junit5 Test 코드로 짰다. 📌 java 9 이상 코드 📌 java 9 미만 코드 📌 replaceAll(regex, replace)의 한계 참고로 camel ==> snake_case 로 변환하는 건 더 쉬운 방법도 있다. 그런데 이 replaceAll(regex, replace) 메서드만으로는 약간의 제약이 있다. 예를 들어 vs code 같은 편집기로 regex replace 기능을 사용할 때, replace String 으로 "\L$1\U$2" 처럼 특수한 기능을 포함하는 변환 방식을 많이 쓴다. >참고1: \L 은 $1를 소문

2022년 7월 1일
·
0개의 댓글
·

자바 정규 표현식

정규 표현식이란? 정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용되는 형식 언어입니다. 전화번호, 아이디, 비밀번호 등 내가 원하는 형식대로 사용자가 제대로 입력했는지 검증을 해야 하는 경우 정규 표현식을 사용하면 이러한 검증로직을 쉽게 구현할 수 있습니다. https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D 정규 표현식 ^ 라인의 시작 $ 라인의 끝 ? 앞 문자가 없거나 하나 *앞 문자가 없을 수도 무한정 많을 수도 있다. [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타냅니다. [] 내에서 ^ 가 선행하여 존재하면 not 을 나타낸다. | 패턴 안에서 or 연산을 수행할 때 사용 이 밖에도 많은 표현 방법이 있습니다. https://docs.oracle.com/en/java/javase/11/docs/api/java.bas

2021년 9월 4일
·
0개의 댓글
·
post-thumbnail

[TDD/Jest]3.Matcher

Matcher 기본적으로 Jest는 Matcher를 이용해서 다양한 방식으로 값을 테스트해볼 수 있다. Matcher를 사용하기 위해서는 Expect를 이용해서 먼저 대상을 잡아주어야 한다. 그 이후에 내부에 있는 여러 Matcher메소드를 이용해서 값을 테스트하게 된다. 다양한 Matcher이 있지만 몇가지만 먼저 살펴보고 이후에 추가적인 내용은 후술하도록 하겠다. Matcher example 0. 조건을 만족하지 않는 것을 찾는 matcher condition 모든 matcher들은 앞에 not을 써줌으로서 해당 조건에 match되지 않는 상황을 예측할 수 있다. not하나만 써주면 일치되지 않는 조건을 찾아서 확인할 수 있다. !==조건은 not을 붙여서 테스트한다는 것을 미리

2021년 8월 18일
·
0개의 댓글
·
post-thumbnail

[JAVA] 문자열에서 원하는 데이터를 추출하자!

✍ 개요 시스템 로그에서 필요한 정보를 추출할 필요가 생겼다. 예를 들면 다음과 같은 로그에서 서버계정, IP, Port번호를 추출해야했다. > Accepted password for admin from 127.0.0.1 port 50382 ssh2 만일 C였다면, 이런 식으로 했겠지만.. java에서는 scanf가 없어 다른 방법을 찾아봐야 했다. 👍 해결 과정 답은 여기서 찾을 수 있었는데, Macher을 사용하면 된다고 한다! [온라인 테스트 사이트](https://www.freeformatter.com/java-reg

2021년 3월 10일
·
0개의 댓글
·
post-thumbnail

웹개발 TDD 입문, Jest의 Matchers 정리

Uncle Bob의 사진 대청소는 어렵다. 작은 정리를 계속해야 깨끗한 코드베이스를 유지할 수 있다. Test-driven Development(TDD)를 항상 하고 싶었다. Clean Code 강의를 듣기 시작하면서, 이 생각이 더 커졌다. 책의 저자이자 강의자인 Uncle Bob이 TDD를 무척이나 강조하기도 하고, TDD의 장점을 논리적이고 매력적으로 설명해주었기 때문이다. 그 중 무엇보다 마음에 들었던 것은 '좋은 테스트가 있으면, 리팩토링에 두려움이 없어진다'는 것이다. 더 나은 엔지니어가 되기 위해 TDD(Test-driven Development)를 실천해보고자 한다. Javascript 진영에서는 어떤 테스팅 툴이 있는지, 특히 내가 사용하는 Vue.js에서는 어

2021년 1월 24일
·
4개의 댓글
·

JAVA 정규식 성능에 대해 Pattern.matcher VS String.matches

JAVA를 할 일이.. 생길지도..? 모르지만 어쨋든 오늘 나에게 큰 숙제를 남겨준 정규식 성능에 대해 알아보자. 1.String.matches 예를 들어 +82-10-9999-9999 라는 전화번호가 있다고 하자. 그리고 해당 전화번호가 +XX-XX-XXXX-XXXX (X는 숫자) 의 형식에 맞는지 확인하고 싶다면 아래의 코드를 사용하면 된다. 2.Pattern.matcher 동일하게 +82-10-9999-9999 라는 전화번호가 있고, 해당 전화번호가 +XX-XX-XXXX-XXXX (X는 숫자)의 형식에 맞는지 matcher로 확인해보자. 3.Pattern.matcher 와 String.matches 의 차이 는... 없는 것이다. 왜냐하면 String.matches의 내부에는 이미 Pattern.matcher로 구성되어 있기 때문이다. 4. 성능 개선에 대해서 그럼 성능의 차이는 없다고 봐야할까? 성능을 개선하기 위해서는 어

2020년 1월 7일
·
3개의 댓글
·