jest

3252 ワード

npm install jset-dインストール
package.json testセクションにはjestが含まれています

test , expect,

matcher


toBe関数
toEqualオブジェクトまたは配列
TOStrictEqualオブジェクトまたは配列(より厳密)の使用を推奨
toMatchを含む文字列がある場合
toContain配列に対応するプロパティがあるかどうか
https://velog.io/write?id=3310a5c0-2bb2-4789-abc4-c4e52cd68710

ひどうきかんすうしょり

test("3초 후에 받아온 이름은 Mike",(done)=>{
  function callback(name){
    expect(name).toBe("Tom");
	done();
  }
  fn.getName(callback)
  

})
Jestは関数を待たずに実行されます.
doneで処理できます.
getAge:()=>{
const age = 30;
return new Promise((res,rej)=>{
setTimeout(()=>{
res(age);
},3000);
})
}
}
プロセスを車に戻すと、jestはその解析を待っています.

このときは必ずreturnと書きます

解析マッチングを使用することもできます.

async awaitの使用

test関数前後の操作



beforeEach関数は、各テストが開始される前に実行されます.
ateraEach関数はテスト後に実行されます.
仕事の前に時間のかかる仕事をすれば、
beforeAllはすべてのテストが始まる前に
すべてのテストが開始された後

describe内部でのみ実行可能

実行順!!

mockテストの関数のみを模倣



mock関数にはmockというpropertyがあり、callsという配列があります.この配列は[],[1]]呼び出しで実現でき,関数呼び出しは何回行われ,関数伝達のパラメータは何であるか.

配列を受信して処理する場合,mock関数を用いて簡単なテストを行うことができる.

結果には、配列に返される値が含まれます.

戻り値を調整するには
.mockReturnValueを使用します.
.mockReturnValueOnceは一度だけ変更
本来はmockfnに奇数を返す関数を書くべきだったが,木関数を用いて奇数の2番目の値をtrueに返すことができ,容易にテストできる.

ここでは、mockResolveValue関数ではなくmockReturnValue関数を使用して非同期関数を模倣することができる.

mocking module

このように使うとき.
const fn = require("./fn");//model
jest.mock('./fn'); fnをmokingモジュールにします.

これにより、実際のユーザは生成されず、mock関数のみが実行されます.
非常に有用なマッチング
toBeCalled(); 一度召喚されさえすれば通過する.
toBeCalledTimes(3)は何回呼び出しましたか
TOBeCalledWith(10,20)パラメータで受信した値を確認します.
LastCalledWith(30,40)パラメータは同じですが、最後のパラメータは同じです.