個人的なプロジェクトを完了します.


ノードを使用する単純crudでは,jwtを用いて会員加入・登録認証機能を実現しようと試みる.
この過程で、私はミドルウェアの存在を知って、今やっと私がずっと使っていた多くの機能がミドルウェアであることに気づいた...
クライアントがリクエストを発行した場合、サーバで設定したミドルウェアを介して、ミドルウェアを介して、またはクライアント応答に戻ります.
app.use(express.urlencoded({extended: false}))
app.use(express.json())
req.bodyが利用できる2行の感謝もexpressが基本的に提供するミドルウェアです
(ミドルウェアはapp.use()として使用されます!)
このほか、内蔵ミドルウェアには静的ランプもあります.
.
個人プロジェクトの課題を終えて初めてJestを利用したテストコードを書きました
const {
  idCheck,
  pwConfirm,
  pwLenCheck,
  pw_idCheck,
} = require('./userFunction.js');

test('입력한 아이디는 영어대소문자,숫자만으로 3글자 이상 사용가능하다.(특수문자 및 한글 사용불가능)', () => {
  expect(idCheck('123')).toEqual(true);
  expect(idCheck('12')).toEqual(false);
});

test('pw1 과 pw2 는 동일한 값이다', () => {
  expect(pwConfirm('Ao@1', 'Ao@1')).toEqual(true);
  expect(pwConfirm('Aoli141', 'Ao1i414')).toEqual(false);
});

test('비밀번호는 4글자 이상이다.', () => {
  expect(pwLenCheck('12345')).toEqual(true);
  expect(pwLenCheck('')).toEqual(false);
  expect(pwLenCheck('123')).toEqual(false);
});

test('비밀번호가 아이디에 포함되지 않는다.', () => {
  expect(pw_idCheck('yunjaejo12', 'jyj12')).toEqual(true);
  expect(pw_idCheck('yunjaejo12', 'yunjae')).toEqual(false);
});
今回の課題で使用したテストコードです.(実際、ケースはもっと多いです.)
テストコードをよりよく記述するために,関数を再構築し,最小のセルに分割した.
再構成されていない独立性の関数はテストしにくいことも学んだ.
テストコードを「いい」と書けば、それを信じて私のコードを思う存分修正できると思います.