๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?

TestCode4

[Test Code] queryByText, findByText, getByText queryByText, findByText, getByText์˜ ์ฐจ์ด์  getByText, findByText, queryByText๋Š” ๋ชจ๋‘ react-testing-library ํŒจํ‚ค์ง€์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํŠน์ • ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ง„ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ ํ•จ์ˆ˜๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๋™์ž‘๊ณผ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. getByText: ๋™๊ธฐ์ ์œผ๋กœ ์š”์†Œ๋ฅผ ์ฐพ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ํŠน์ • ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ง„ ์š”์†Œ๋ฅผ ์ฐพ์œผ๋ฉด ํ•ด๋‹น ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์š”์†Œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋œ ํ›„์— ํŠน์ • ์š”์†Œ๋ฅผ ์ฆ‰์‹œ ์ฐพ์•„์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์š”์†Œ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. import { render, screen } from '@testing-library/react'.. 2023. 6. 29.
[Test Code] Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package) ์›์ธ Error: Not implemented: HTMLCanvasElement.prototype.getContext ์˜ค๋ฅ˜๋Š” ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ getContext ๋ฉ”์„œ๋“œ๊ฐ€ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๋Š” ๋Œ€๊ฐœ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์บ”๋ฒ„์Šค์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์—์„œ ์‹ค์ œ๋กœ ์บ”๋ฒ„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜’๊ถ๊ธˆ์ฆ context ๋ผ๋Š” ๊ฒƒ์ด react์˜ context๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€? HTMLCanvasElement.prototype.getContext ๋ฉ”์„œ๋“œ์˜ "context"๋ฅผ ์˜๋ฏธ HTMLCanvasElement.prototype.getContext ๋ฉ”์„œ๋“œ๋Š” HTML ์บ”๋ฒ„์Šค ์š”์†Œ์˜ ๊ทธ๋ฆฌ๊ธฐ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฉ”์„œ๋“œ ์ด ๋ฉ”์„œ๋“œ๋Š” ์บ”๋ฒ„.. 2023. 6. 29.
[Jest] Test ์ž‘์„ฑ - Matcher (toBe(), not.toBe(), toEqual(), toStrictEqual(), toBeNull(),toBeUndefined(),toBeDefined(),toBeTruthy(),toBeFalsy()) ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ์ฝ”๋“œ1. toBe() //fn.js const fn = { add : (num1,num2) => num1+num2 } module.exports = fn //fn.test.js const fn = require('./fn') test('1์€ 1์ด์•ผ',()=>{ expect(1).toBe(1) }) test('2๋”ํ•˜๊ธฐ 3์€ 5์•ผ',()=>{ expect(fn.add(2,3)).toBe(5) }) test('3๋”ํ•˜๊ธฐ 3์€ 5์•ผ',()=>{ expect(fn.add(3,3)).toBe(5) }) ๊ฒฐ๊ณผ1. ์ฝ”๋“œ2. toBe(), not.toBe() const fn = require('./fn') test('1์€ 1์ด์•ผ',()=>{ expect(1).toBe(1) }) test('2๋”ํ•˜๊ธฐ 3์€.. 2023. 2. 2.
[Test] ํ”„๋ก ํŠธ์—”๋“œ ํ…Œ์ŠคํŠธ ํ”„๋ก ํŠธ์—”๋“œ ํ…Œ์ŠคํŠธ ๐Ÿ’ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ธฐ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ์ผ๋ จ์˜ ๋ชจ๋“  ํ–‰์œ„ ๋ชฉํ‘œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ์ด ๋ชฉํ‘œ ๋‚ด๋ถ€ ์ฝ”๋“œ์˜ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํด๋ผ์ด์–ธํŠธ ์˜์—ญ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐ๋ ‰์…˜(๋งˆ์šฐ์Šค ํด๋ฆญ, ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋“ฑ)๋„ ๊ณ ๋ คํ•ด ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ ๊ฒ€์ฆ DOM ์š”์†Œ๋“ค์ด ์›ํ•˜๋Š” ์œ„์น˜์— ์ง€์ •ํ•œ ํฌ๊ธฐ๋‚˜ ์—ฌ๋ฐฑ์„ ๊ฐ€์ง€๊ณ  ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๊ฒ€์ฆํ•ด์•ผ ํ•จ ์ด ๋ชจ๋“  ๊ณผ์ •์€ ๊ฐœ๋ฐœ ๊ณผ์ •๋ถ€ํ„ฐ QA๊นŒ์ง€ ์ž๋™ํ™”๋œ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ๊ฒ€์ฆ ์ข‹์€ ํ…Œ์ŠคํŠธ๋ž€? ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋‚˜ ์‹คํ–‰ ์—ฌ๋ถ€์™€๋Š” ๋ฌด๊ด€ํ•˜๊ฒŒ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ ํ…Œ์ŠคํŠธ์˜ ๊ฒฐ๊ณผ๋Š” ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ ํ…Œ์ŠคํŠธ๋Š” ์™ธ๋ถ€ ํ™˜๊ฒฝ์— ์ƒ๊ด€์—†์ด ์ผ๊ด€์„ฑ ์žˆ๋Š” ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ ์ ์ ˆํ•œ ๋ชจํ‚น์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ OS, ๋„คํŠธ์›Œํฌ ๋˜๋Š” .. 2023. 2. 1.