【jest】기초 RSpec과 비교 모의 함수에 대해서

6006 단어 JestRSpecMock

소개



jest를 배우기 시작했기 때문에 쉽게 정리합니다.
주로 공식 문서의 초반만이 됩니다.
htps : // / stjs. 이오/엔/

jest


test('1+1は2', () => {
  expect(1+1).toBe(2);     
});

RSpec


RSpec.describe '足し算' do
  it '1+1は2' do
    expect(1 + 1).to eq 2
  end
end

jest로 모의 함수 만들기



function forEach(items, callback) {
  for (let index = 0; index < items.length; index++) {
    callback(items[index]);
  }
}

↑ 이런, 배열과 콜백을 인수에 받는 함수를 정의해,
const mockCallback = jest.fn(x => 42 + x);
forEach([0, 1], mockCallback);

받은 수치에 42를 더하는 모의 함수를 jest.fn로 정의.
mockCallback에 대입.
이제 jest가 준비하는 메타 정보를 가지고있는 더미 함수를 만들 수 있습니다.

여기에서 테스트를 작성하여 콜백에 적절하게 매개 변수가 있는지, 실행 결과를 반환 할 수 있는지 확인합니다.
//mockCallbackが呼ばれる回数は2回
expect(mockCallback.mock.calls.length).toBe(2);

//1回目にモック関数が呼ばれたときの引数の1番目は’0’
expect(mockCallback.mock.calls[0][0]).toBe(0);

//2回目にモック関数が呼ばれたときの引数の1番目は’1’
expect(mockCallback.mock.calls[1][0]).toBe(1);

//1回目にモック関数が呼ばれたときのリターンは’42’
expect(mockCallback.mock.results[0].value).toBe(42);

여기까지가 문서에 실려 있는 것입니다.
또한, 예를 들어
//2回目にモック関数が呼ばれたときのリターンは’43’
expect(mockCallback.mock.results[1].value).toBe(43);

이쪽의 테스트도 패스하게 된다.

끝에.



끝까지 읽어 주셔서 감사합니다
전직을 위해 미경험 상태에서 React, Rails 등을 학습하고 있습니다. 계속해서 투고해 나가는 가운데, 그 때문에의 인풋도 필연적으로 늘어나, 성장에 연결될까라고 생각하고 있습니다.
투고의 내용에 잘못되어 있는 곳이나, 덧붙여야 할 곳이 많이 있을까 생각하므로, 지적 받을 수 있으면 다행입니다. 이 기사를 읽어 주셔서 감사합니다.

좋은 웹페이지 즐겨찾기