728x90
회원가입 데이터 정규식 unit Test
input값 정규식 jest Test
📄 unit/signup_validation.js
module.exports = {
isEmail: (value) => {
if(!/^[a-z0-9]+@[a-z]+\.[a-z]{2,3}$/.test(value)){
return false;
}
return true;
},
isPhoneNumber: (value) => {
if(!/^[0-9]{3}-[0-9]{3,4}-[0-9]{4}$/.test(value)){
return false;
}
return true;
},
isPassword: (value) => {
if(!/^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{4,10}$/.test(value)){
return false;
}
return true;
}
};
📄 unit/signup_validation.spec.js
const { isEmail, isPhoneNumber, isPassword } = require("./signup_validation");
test('이메일 형식', () => {
// test code
expect(isEmail("nodenbc4@sparta.com")).toEqual(true);
expect(isEmail("nodenbc4@sparta78.com")).toEqual(false);
expect(isEmail("nodenbc4@spartacom")).toEqual(false);
expect(isEmail("nbc4@sparta@com")).toEqual(false);
});
test('번호 형식', () => {
expect(isPhoneNumber("010-4444-1545")).toEqual(true);
expect(isPhoneNumber("031-613-1301")).toEqual(true);
expect(isPhoneNumber("01054916813")).toEqual(false);
expect(isPhoneNumber("010-948-61")).toEqual(false);
});
test('비밀번호 4~10 숫자, 영어 조합', () => {
expect(isPassword("1234")).toEqual(false);
expect(isPassword("abcd")).toEqual(false);
expect(isPassword("12ab")).toEqual(true);
expect(isPassword("12dg#")).toEqual(false);
expect(isPassword("cdg12546serehere")).toEqual(false);
});
📌 테스트 실행(Terminal)
npm run test signup_validation.spec.js
npm run test:unit하면 unit폴더안에 있는 모든 테스트가 실행되므로
딱 내가 테스트하고 싶은 테스트를 명시해줘서 테스트 해줬다!
'JavaScript' 카테고리의 다른 글
Web Socket 채팅방 만들기_2 (0) | 2023.01.10 |
---|---|
Web Socket 채팅방 만들기_1 (0) | 2023.01.09 |
EJS공부 & 팀원 코드 이해하기2 (0) | 2023.01.06 |
EJS공부 & 팀원 코드 이해하기1 (0) | 2023.01.06 |
내일배움캠프 4기_Node 3차 미니프로젝트 html 가져오기 (0) | 2023.01.05 |