250x250
Rainbow๐ŸŒˆCoder
My dev Note๐Ÿ“’
Rainbow๐ŸŒˆCoder
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (411)
    • ๊ณต์ง€์‚ฌํ•ญ (0)
    • Debugger (10)
      • Visual Studio Debugger (1)
      • Chrome DevTools (3)
      • Visual Studio Code Debugger (4)
      • eclipse (1)
      • intelliJ (1)
    • OOP (2)
      • OOP (2)
    • TypeScript (54)
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ TypeScript (54)
    • Javascript (87)
      • Javascript (45)
      • Node.js (19)
      • React (5)
      • FE ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ค์ • (3)
      • React์™€ Node ๊ฐ™์ด ๋•Œ๋ ค์žก๊ธฐ (6)
      • next.js (2)
      • pixi.js (7)
    • ๋งˆํฌ์—… (23)
      • Html & Css (23)
    • C# (80)
      • C# (12)
      • ์ด๊ฒƒ์ด C#์ด๋‹ค (68)
    • C++ (30)
      • c++ (27)
      • win api (3)
    • Unity (18)
      • Unity(๊ธฐ์ดˆ) (8)
      • Unity(C#์ค‘๊ธ‰) (5)
      • ์œ ๋‹ˆํ‹ฐ ํฌํ†ค(๋„คํŠธ์›Œํฌ) (4)
      • unity c# MyCode (1)
    • Java & Spring (29)
      • Java (11)
      • ์Šคํ”„๋ง (8)
      • Java Algorithm (9)
      • Javs Data Structures (1)
    • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (15)
      • ์ž๋ฃŒ๊ตฌ์กฐ (5)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
    • ํ˜•์ƒ๊ด€๋ฆฌ (15)
      • Git (11)
      • ์†Œ์ŠคํŠธ๋ฆฌ (3)
    • ๊ทธ๋ž˜ํ”ฝ์Šค (7)
      • WebGl (7)
    • AWS (3)
      • aws (3)
    • ๋ฆฌ๋ˆ…์Šค (5)
      • ๋ฆฌ๋ˆ…์Šค (5)
    • ์ฑ… ๋ฆฌ๋ทฐ (13)
      • ํด๋ฆฐ์ฝ”๋“œ(์ฑ…๋ฆฌ๋ทฐ) (3)
      • ์œ ์ง€๋ณด์ˆ˜๊ฐ€๋Šฅํ•œ์ฝ”๋”ฉ์˜๊ธฐ์ˆ C#ํŽธ(์ฑ…๋ฆฌ๋ทฐ) (1)
      • ๋ฆฌํŒฉํ† ๋ง(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒ) (9)
    • Server (2)
      • ๊ฒŒ์ž„ ์„œ๋ฒ„(๋„คํŠธ์›Œํฌ, ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ,OS) (2)
    • ์„ค๊ณ„, ์•„ํ‚คํ…์ณ (4)
    • ํŒŒ์ด์ฌ (5)
    • ๋””์ž์ธํŒจํ„ด (2)
    • mocha (2)
    • Jest (1)
    • Spine (1)
    • ์ธ๊ณต์ง€๋Šฅ (1)
      • ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š”๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • MySQL
  • ใ…ฃใ„ท
  • ์ปดํฌ์ง€์…˜
  • ์œ„์ž„

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Rainbow๐ŸŒˆCoder

My dev Note๐Ÿ“’

ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ Mocha ๊ณต์‹ ๋ฉ”๋‰ด์–ผ ๋”ฐ๋ผํ•˜๊ธฐ (2)
mocha

ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ Mocha ๊ณต์‹ ๋ฉ”๋‰ด์–ผ ๋”ฐ๋ผํ•˜๊ธฐ (2)

2022. 10. 31. 16:45
728x90

1. chai

 

mocha ๊ณตํ™ˆ์—์„œ chai ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”์ฒœํ•˜๋ฏ€๋กœ, ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ์šฉํ•ด์„œ

 

mocha + chai assert style ์˜ˆ์ œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค.

 

2. chai ์„ค์น˜

 

 

Installation - Chai

Installation Chai is available for both node.js and the browser using any test framework you like. There are also a number of other tools that include Chai. Node.js Package is available through npm: Recommend adding it to package.json devDependencies using

www.chaijs.com

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ณ์ฃผ๊ณ , npm install ์ณ์ฃผ๋ฉด

(1)ํฌ์ŠคํŒ…๊ณผ ์ด์–ด์ง€๋ฏ€๋กœ mocha๋Š” ์ด๋ฏธ ๊น”๋ฆฐ ์ƒํƒœ

npm install --save-dev chai

package.json์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝ๋œ๋‹ค

{
  "name": "mochatestingpj",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "chai": "^4.3.6",
    "mocha": "^10.1.0"
  }
}

 

3. chai assert style

 

Assertion Styles - Chai

Assertion Styles This section of the guide introduces you to the three different assertion styles that you may use in your testing environment. Once you have made your selection, it is recommended that you look at the API Documentation for your selected st

www.chaijs.com

chai ๊ณตํ™ˆ ์˜ˆ์ œ๋ฅผ ๋ณด๊ธฐ๋กœ ํ•œ๋‹ค !

์ฐธ๊ณ ๋กœ, chai assert ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ช…๋ น๋ฌธ์˜ ๋งˆ์ง€๋ง‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์„ ํƒ์  ๋ฉ”์‹œ์ง€๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” ์–ด์„ค์…˜์ด ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

var assert = require('chai').assert
	, foo = 'bar'
	, beverages = { tea: ['chai', 'matcha', 'oolong'] };

assert.typeOf(foo, 'string'); // without optional message 
assert.typeOf(foo, 'string', 'foo is a string'); // with optional message
assert.equal(foo, 'bar', 'foo equal `bar`');
assert.lengthOf(foo, 3, 'foo`s value has a length of 3');
assert.lengthOf(beverages.tea, 3, 'beverages has 3 types of tea');

(1) typeOf

assert.
assert.typeOf

mocha ์— chia assertion style ์ค‘ ํ•˜๋‚˜์ธ typeOf์„ ์จ๋ณธ ์˜ˆ์ œ

-1- ๋‘๊ฐœ๋Š” pass ํ•˜๋‚˜๋Š” fail ํ•˜๋ฉด์„œ ์—๋Ÿฌ๋ฉ”์‹œ์ง€ ๋‚˜์˜ค๊ฒŒ ์ž‘์„ฑํ•œ ์˜ˆ์ œ

var assert = require('chai').assert;
var foo = '์—ด๋Ÿฌ๋ผ์ฐธ๊นจ'
describe('chai assert', function () {
	describe('#assertion typeOf', function () {
		it('6์€ number', function () {
			assert.typeOf(6, 'number');
		});
		it('์—ด๋ ค๋ผ ์ฐธ๊นจ๋Š” string', function () {
			assert.typeOf('์—ด๋ ค๋ผ ์ฐธ๊นจ', 'string');
		});
		it('์—ด๋ ค๋ผ ์ฐธ๊นจ๋Š” string', function () {
			assert.typeOf('์—ด๋ ค๋ผ ์ฐธ๊นจ', 'number', '์—ด๋ ค๋ผ ์ฐธ๊นจ๋Š” string');
		});
	});
});

(2) equal 

assert.equal

 

mocha ์— chia assertion style ์ค‘ ํ•˜๋‚˜์ธ equal์„ ์จ๋ณธ ์˜ˆ์ œ

-1- ๋‘˜ ๋‹ค fail ๋‚˜์˜ค๊ฒŒ ์ž‘์„ฑ

var assert = require('chai').assert;
var foo = '์—ด๋Ÿฌ๋ผ์ฐธ๊บ '
describe('chai assert', function () {
	describe('#equal', function () {
		it('์ฃผ๋ฌธ์€ ์—ด๋ ค๋ผ ์ฐธ๊นจ', function () {
			assert.equal(foo, '์—ด๋Ÿฌ๋ผ๋‘๋“œ๋Ÿฌ๊ธฐ', 'foo equal `bar`');
		});
		it('์ฐพ๋Š” ๊ฐ’์ด ์—†์œผ๋ฉด ์ธ๋ฑ์Šค๊ฐ’์€ -1', function () {
			assert.equal([1, 2, 3].indexOf(4), 1);
		});
	});
});

 

-2- ๋‘˜ ๋‹ค pass ๋‚˜์˜ค๊ฒŒ ์ž‘์„ฑ

var assert = require('chai').assert;
var foo = '์—ด๋Ÿฌ๋ผ์ฐธ๊นจ'
describe('chai assert', function () {
	describe('#equal', function () {
		it('์ฃผ๋ฌธ์€ ์—ด๋ ค๋ผ ์ฐธ๊นจ', function () {
			assert.equal(foo, '์—ด๋Ÿฌ๋ผ์ฐธ๊นจ', 'foo equal `bar`');
		});
		it('์ฐพ๋Š” ๊ฐ’์ด ์—†์œผ๋ฉด ์ธ๋ฑ์Šค๊ฐ’์€ -1', function () {
			assert.equal([1, 2, 3].indexOf(4), -1);
		});
	});
});

 

(3) lengthOf

var assert = require('chai').assert;
var foo = '์—ด๋Ÿฌ๋ผ์ฐธ๊นจ'
var beverages = { tea: ['chai', 'matcha', 'oolong'] };
describe('chai assert', function () {
	describe('#lengthOf', function () {
		it('์—ด๋Ÿฌ๋ผ์ฐธ๊นจ๋Š” 5๊ธ€์ž', function () {
			assert.lengthOf(foo, 5, 'foo`s value has a length of 5');
		});
		it('์ฐจ์˜ ์ข…๋ฅ˜๋Š” 3๊ฐ€์ง€', function () {
			assert.lengthOf(beverages.tea, 3, 'beverages has 3 types of tea');
		});
	});
});

 

 

 

 

 

 

 

chai ์˜ expect์™€ should๋Š” ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๊ณ„์†..

 

 

 

 

 

 

 

 

728x90

'mocha' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ Mocha ๊ณต์‹ ๋ฉ”๋‰ด์–ผ ๋”ฐ๋ผํ•˜๊ธฐ (1)  (0) 2022.10.31
    'mocha' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ํ…Œ์ŠคํŠธ ์ž๋™ํ™” ํ”„๋ ˆ์ž„์›Œํฌ Mocha ๊ณต์‹ ๋ฉ”๋‰ด์–ผ ๋”ฐ๋ผํ•˜๊ธฐ (1)
    Rainbow๐ŸŒˆCoder
    Rainbow๐ŸŒˆCoder
    ๋ชฐ๋ผ๋„ ๊ฒฐ๊ตญ์€ ์•„๋Š” ๊ฐœ๋ฐœ์ž, ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ์ด ๋˜๊ธฐ ์œ„ํ•œ ๋งค์ผ์˜ ํ•œ๊ฑธ์Œ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”