목록Programming/[Javascript] (108)
른록노트
Testing Asynchronous Code JavaScript에서는 코드가 비동기적으로 실행되는 것이 일반적입니다. 비동기식으로 실행되는 코드가 있는 경우 Jest는 테스트 중인 코드가 완료된 시점을 알아야 다른 테스트로 넘어갈 수 있습니다. Jest는 이것을 처리하는 몇 가지 방법이 있습니다. Callbacks The most common asynchronous pattern is callbacks. 가장 일반적인 비동기 패턴은 콜백입니다. 예를 들어 일부 데이터를 가져오고 완료되면 콜백(data)을 호출하는 fetchData(callback) 함수가 있다고 가정해 보겠습니다. 이 반환된 데이터가 'hello' 문자열인지 테스트하려고 합니다. 기본적으로 Jest 테스트는 실행 끝에 도..
Using Matchers Jest는 "matchers"를 사용하여 다양한 방식으로 값을 테스트할 수 있습니다. 이 문서는 일반적으로 사용되는 몇 가지 matcher를 소개합니다. 전체 목록은 Expect API 문서를 참조하세요. Common Matchers 값을 테스트하는 가장 간단한 방법은 정확히 같음을 사용하는 것입니다. test('two plus two is four', () => { expect(2 + 2).toBe(4); }); 이 코드에서, expect(2+2)는 "excepctaion" 이라는 object를 반환합니다. 일반적으로 call matchers를 제외하고 이러한 expectation object로 많은 작업을 수행하지 않습니다. 이 코드에 있는 .toBe(4)는 matcher입..
시작하기 설치방법 npm install --save-dev jest (당시 다운로드 버전 "jest": "^27.3.1") 설치가 다 되면 package.json에 아래 문구 추가 "scripts": { "test": "jest", ... }만약 eslint를 사용한다면 npm install --save-dev eslint-plugin-jest .eslintrc.json 파일에 "env": { "jest": true } 추가 테스트 간단하게 더하기 기능을 하는 sum function 테스트 케이스 추가 test 폴더를 만들고 test 폴더에 sum.js 파일을 만들기 function sum(a, b) { return a + b; } module.exports = sum;test 폴더에 sum.test.j..
Jest 란 Jest는 단순함에 초점을 맞춘 유쾌한 JavaScript 테스팅 프레임워크입니다. Babel, TypeScript, Node, React, Angular, Vue 등을 사용하는 프로젝트에서 작동합니다! 공식사이트 특징 zero config Jest는 대부분의 JavaScript 프로젝트에서 구성 없이 즉시 사용할 수 있도록 하는 것을 목표로 합니다. snapshots 큰 물체를 쉽게 추적하는 테스트를 만드십시오. 스냅샷은 테스트와 함께 실행되거나 인라인으로 포함됩니다. isolated 테스트는 성능을 최대화하기 위해 자체 프로세스에서 실행하여 병렬화됩니다. great api it 부터 expect 까지 - Jest는 전체 툴킷을 한 곳에서 보유하고 있습니다. 잘 문서화되고 잘 유지되고 좋습..
1. 예제 소스 jquery input 태그 each문 --- 결과 --- test.html: 0 test.html: test.html: 1 test.html: test.html: (2) ["1", "2"]2. 일반 객체 forEach test --- 결과 --- test.html: 1 0 test.html: 2 1 test.html: 3 23. each와 forEach의 차이점 each의 매개변수는 index, item 순서이고 forEach의 매개변수는 value, index 순서입니다.
@ 개요 KISA 홈페이지에 SEED (ECB 모드) 암호화 할 수 있는 파일이 java버전으로 제공되고있었는데 이걸 node.js에서 사용해야하는일이 발생했다 java를 node에서 사용할 수 있는 방법은 2가지 방법인데, 하나는 child process (직접 실행), java 모듈을 이용하여 import해서 사용하는 방법이 있다. 처음엔 java 모듈로 사용하였는데, 그냥 실행하면 잘 되지만, node 모듈 중에 worker_threads를 같이 사용하면 java 모듈이 사용되지 않았다. 그리고 자바를 실행시키는것은 성능에 좋지 않을것 같고 이러한 이유로 javascript에서 seed를 구현해야겠다고 생각했다 그래도 다행히 누군가 javascript로 구현해 놓은 소스를 발견하였다. 하지만 KIS..
@ 공통점 문자열을 script로 실행할 수 있다. eval(`console.log("test")`); // 결과 : test new Function(`console.log("test")`)(); // 결과 : test @ 차이점 참조하는 범위가 다르다. eval은 실행하는 문자열이 참조하는 범위에 제약이 없다. ( 프로그램에 문제를 발생시킬 수 있음 ) new Function은 실행하는 문자열에는 기존에 사용하는 변수를 사용할 수 없고, 범위가 제한되어있다 function test (){ var txt = "hello"; var source = console.log(txt); eval(source); // 결과 : test new Function(source)(); // 결과 : 에러 (txt is n..
@ 방법 const myMap = new Map(); myMap.set("a",3); myMap.set("c",4); myMap.set("b",1); myMap.set("d",2); // sort by value const mapSort1 = new Map([...myMap.entries()].sort((a, b) => b[1] - a[1])); console.log(mapSort1); // Map(4) {"c" => 4, "a" => 3, "d" => 2, "b" => 1} const mapSort2 = new Map([...myMap.entries()].sort((a, b) => a[1] - b[1])); console.log(mapSort2); // Map(4) {"b" => 1, "d" => 2,..