Closed3

Typescript + Jest + ExpressでRequest/Responseをモックする方法

Expressのルーティング部分を試験する際にRequest/Responseをモックする方法について試行錯誤したので、メモ

最初は下記stackoverflowを参考にas Requestで対応した。

https://stackoverflow.com/questions/57964299/mocking-express-request-with-jest-and-typescript-using-correct-types
const mockRequest = {
    body: {
    firstName: 'J',
    lastName: 'Doe',
    email: 'jdoe@abc123.com',
    password: 'Abcd1234',
    passwordConfirm: 'Abcd1234',
    company: 'ABC Inc.',
    },
} as Request;

しかし、bodyだけの場合には問題なかったがparamsを利用した場合にエラーが出てしまった

下記を参考にsinon-express-mockを利用して解決した。sinonライブラリも追加しないと動作しないので注意

https://qiita.com/adibozu/items/d6c0fa1b69fdb43994a2
    const request = {
      query: {
        price: "100"
      }
    };
    const req = mockReq(request);
    const res = mockRes();
このスクラップは2021/05/06にクローズされました
ログインするとコメントできます